亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

邵阳市| 溧阳市| 富锦市| 南乐县| 武陟县| 汝州市| 仁化县| 东台市| 库尔勒市| 柳林县| 博罗县| 应用必备| 齐齐哈尔市| 松溪县| 宕昌县| 北票市| 黄冈市| 安阳市| 东兰县| 天峨县| 稻城县| 平远县| 大埔县| 巴中市| 荥经县| 镇安县| 荆门市| 通河县| 且末县| 通海县| 洞口县| 廊坊市| 吉隆县| 琼海市| 镇坪县| 泗水县| 志丹县| 方城县| 当雄县| 浦城县| 衡阳县|