91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

okhttp框架-如何對請求數據進行GZIP壓縮

發布時間:2020-06-14 12:06:40 來源:網絡 閱讀:9725 作者:xiaofei_zhang 欄目:開發技術

官方給出的例子是采用攔截器的方式來是實現GZIP壓縮。

/** 攔截器壓縮http請求體,許多服務器無法解析 */
  static class GzipRequestInterceptor implements Interceptor {
    @Override public Response intercept(Chain chain) throws IOException {
      Request originalRequest = chain.request();
      if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) {
        return chain.proceed(originalRequest);
      }

      Request compressedRequest = originalRequest.newBuilder()
          .header("Content-Encoding", "gzip")
          .method(originalRequest.method(), gzip(originalRequest.body()))
          .build();
      return chain.proceed(compressedRequest);
    }

    private RequestBody gzip(final RequestBody body) {
      return new RequestBody() {
        @Override public MediaType contentType() {
          return body.contentType();
        }

        @Override public long contentLength() {
          return -1; // 無法知道壓縮后的數據大小
        }

        @Override public void writeTo(BufferedSink sink) throws IOException {
          BufferedSink gzipSink = Okio.buffer(new GzipSink(sink));
          body.writeTo(gzipSink);
          gzipSink.close();
        }
      };
    }
  }


源碼地址


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗甸县| 武功县| 瑞金市| 合水县| 会泽县| 九寨沟县| 岳池县| 中西区| 苍山县| 建德市| 巴楚县| 合阳县| 萨迦县| 临沧市| 广东省| 江永县| 会昌县| 怀仁县| 乐清市| 两当县| 旌德县| 丰宁| 神池县| 辽阳县| 闽侯县| 洛阳市| 县级市| 黎城县| 襄垣县| 乌鲁木齐市| 京山县| 平江县| 巴彦县| 上饶市| 抚松县| 深水埗区| 松潘县| 灵宝市| 杂多县| 阳新县| 乌兰察布市|