diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/HeaderOperation.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/HeaderOperation.java index 5d8ea25e7..67d2087f7 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/HeaderOperation.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/HeaderOperation.java @@ -206,9 +206,9 @@ public interface HeaderOperation> { } /** - * 获取内容编码 + * 获取压缩媒体类型 * - * @return String + * @return 压缩媒体类型 */ default String contentEncoding() { return header(HeaderName.CONTENT_ENCODING); diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4BodyEntity.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4BodyEntity.java index f1ff4ab45..939fd6d6d 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4BodyEntity.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4BodyEntity.java @@ -12,13 +12,12 @@ package org.dromara.hutool.http.client.engine.httpclient4; +import org.apache.http.entity.AbstractHttpEntity; import org.dromara.hutool.http.client.body.BytesBody; import org.dromara.hutool.http.client.body.HttpBody; -import org.apache.http.entity.AbstractHttpEntity; import java.io.InputStream; import java.io.OutputStream; -import java.nio.charset.Charset; /** * {@link HttpBody}转换为{@link org.apache.hc.core5.http.HttpEntity}对象 @@ -34,14 +33,14 @@ public class HttpClient4BodyEntity extends AbstractHttpEntity { * 构造 * * @param contentType Content-Type类型 - * @param charset 自定义请求编码 + * @param contentEncoding 压缩媒体类型,如gzip、deflate等 * @param chunked 是否块模式传输 * @param body {@link HttpBody} */ - public HttpClient4BodyEntity(final String contentType, final Charset charset, final boolean chunked, final HttpBody body) { + public HttpClient4BodyEntity(final String contentType, final String contentEncoding, final boolean chunked, final HttpBody body) { super(); setContentType(contentType); - setContentEncoding(null == charset ? null : charset.name()); + setContentEncoding(contentEncoding); setChunked(chunked); this.body = body; } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4Engine.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4Engine.java index 273dfe371..9c35069dc 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4Engine.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4Engine.java @@ -158,8 +158,7 @@ public class HttpClient4Engine implements ClientEngine { requestBuilder.setEntity(new HttpClient4BodyEntity( // 用户自定义的内容类型 message.header(HeaderName.CONTENT_TYPE), - // 用户自定义编码 - message.charset(), + message.contentEncoding(), message.isChunked(), body)); } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5BodyEntity.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5BodyEntity.java index f122f8337..e641f11e7 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5BodyEntity.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5BodyEntity.java @@ -18,7 +18,6 @@ import org.dromara.hutool.http.client.body.HttpBody; import java.io.InputStream; import java.io.OutputStream; -import java.nio.charset.Charset; /** * {@link HttpBody}转换为{@link org.apache.hc.core5.http.HttpEntity}对象 @@ -34,12 +33,12 @@ public class HttpClient5BodyEntity extends AbstractHttpEntity { * 构造 * * @param contentType Content-Type类型 - * @param charset 自定义请求编码 + * @param contentEncoding 压缩媒体类型,如gzip、deflate等 * @param chunked 是否块模式传输 * @param body {@link HttpBody} */ - public HttpClient5BodyEntity(final String contentType, final Charset charset, final boolean chunked, final HttpBody body) { - super(contentType, null == charset ? null : charset.name(), chunked); + public HttpClient5BodyEntity(final String contentType, final String contentEncoding, final boolean chunked, final HttpBody body) { + super(contentType, contentEncoding, chunked); this.body = body; } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5Engine.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5Engine.java index 66af6bff7..29ae6b0d0 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5Engine.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5Engine.java @@ -157,8 +157,7 @@ public class HttpClient5Engine implements ClientEngine { request.setEntity(new HttpClient5BodyEntity( // 用户自定义的内容类型 message.header(HeaderName.CONTENT_TYPE), - // 用户自定义编码 - message.charset(), + message.contentEncoding(), message.isChunked(), body)); } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpRequestBody.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpRequestBody.java index 9bbf37261..eb19a2888 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpRequestBody.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/okhttp/OkHttpRequestBody.java @@ -34,6 +34,7 @@ public class OkHttpRequestBody extends okhttp3.RequestBody { this.body = body; } + @Override public MediaType contentType() { return null; } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/meta/HeaderName.java b/hutool-http/src/main/java/org/dromara/hutool/http/meta/HeaderName.java index d7fa80742..415738aba 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/meta/HeaderName.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/meta/HeaderName.java @@ -129,11 +129,11 @@ public enum HeaderName { */ WWW_AUTHENTICATE("WWW-Authenticate"), /** - * Cookie + * Set-Cookie */ SET_COOKIE("Set-Cookie"), /** - * Content-Encoding + * 压缩媒体类型:Content-Encoding */ CONTENT_ENCODING("Content-Encoding"), /**