Java HttpGet не принимает gzip - PullRequest
3 голосов
/ 29 июля 2011

Я делаю HttpGet для URL, и я не хочу, чтобы сервер отправлял данные gzipped. Что header я должен включить в мой HttpGet?

При использовании заголовков по умолчанию сервер время от времени отправляет сжатые данные. Я не хочу, чтобы это случилось. Спасибо.

Ответы [ 3 ]

5 голосов
/ 29 июля 2011

Требуется заголовок HTTP-запроса Accept-Encoding .

Обновление: в соответствии с комментарием @ Selvin, оставьте его пустым или установите для него значение "identity".

UpdateКонечно, веб-приложение должно правильно взаимодействовать, чтобы быть HTTP-совместимым.Если он не соблюдает Accept-Encoding, посмотрите на его Content-Encoding HTTP-заголовок ответа.Если это «gzip», просто прочитайте тело ответа с Java GZIPInputStream.html .Затем добавьте «gzip» в заголовок вашего запроса Accept-Encoding, поскольку ваш клиент теперь обрабатывает GZIP.Если веб-приложение не правильно устанавливает заголовок Content-Encoding, это совсем другая история.

1 голос
/ 29 июля 2011

Вы можете попробовать изменить заголовок Accept-Encoding, удалив значение gzip | deflate. Если это не работает, вы также должны принять во внимание, что сервер не заботится о том, поддерживает ли клиент содержимое GZIP (что является ошибкой и должно быть исправлено).

1 голос
/ 29 июля 2011

Для заголовка Accept-Encoding следует установить значение identity .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...