Начиная с 4.1, Apache HttpClients обрабатывает сжатие запросов и ответов.
- Вам не нужно сжимать запрос, не нужно устанавливать «Accept-Encoding» в заголовках запроса.
- Также автоматически обрабатывается декомпрессия ответа, нет необходимости обрабатывать декомпрессию ответа.
- До 4.3 он обрабатывает gzip и выкачивает. Вы можете проверить
ResponseContentEncoding
api doc здесь .
Просто используйте:
HttpClients.custom()
, который использует:
HttpClientBuilder.create()
Если вы хотите проверить в библиотеке goto HttpClientBuilder
, она использует RequestAcceptEncoding
& ResponseContentEncoding
Вы можете отключить его через «disableContentCompression ()»
HttpClient httpClient = HttpClients.custom()
.setConnectionManager(cm)
.disableContentCompression() //this disables compression
.build();
Пожалуйста, убедитесь, что если вы добавите какой-либо перехватчик, который может это переопределить, используйте его осторожно.
HttpClient httpClient = HttpClients.custom()
.setConnectionManager(cm)
.setHttpProcessor(httpprocessor) //this interceptor can override your compression.
.build();