Я выполняю HTTP-вызов Get, используя Apache HTTPClient (4.x).
httpResponse = httpClient.execute(call, context);
HttpEntity responseEntity = httpResponse.getEntity();
content = EntityUtils.toString(responseEntity);
Он выдает следующее исключение заметил, что сервер не отправляет заголовок Content Length
(вероятно, из-за Transfer-Encoding: chunked
). Еще я заметил, что код ответа 302 Moved Temporarily
. Я ожидал, что EntityUtils.toString
вернет нулевой или пустой ответ. но генерирует исключение.
Это ожидаемое поведение? или надо добавить дополнительную обработку? Этот код был в общей структуре и работал для всех других HTTP-вызовов.
Заголовки ответа:
HttpResponseProxy{
HTTP/1.1 302 Moved Temporarily [
Vary: Accept, Accept-Encoding,
Set-Cookie: <cookie>; Version=1; Expires=Fri, 06-Aug-2021 22:43:02 GMT; Max-Age=31536000; Domain=.openx.net; Path=/,
Server: OXGW/16.191.0,
P3P: CP="CUR ADM OUR NOR STA NID",
Location: <redirect URL>,
Date: Thu, 06 Aug 2020 22:43:02 GMT,
Content-Type: text/html, Via: 1.1 google, Alt-Svc: clear,
Transfer-Encoding: chunked] org.apache.http.client.entity.DecompressingEntity@68ef95e1}
Объект ответа: -
ResponseEntityProxy{[Content-Type: text/html,Content-Encoding: gzip,Chunked: true]}