Почему ответ на мой запрос Java GET имеет меньше заголовков, чем тот же URL для Curl

1

Я играю с API OANDA. В документации указано, что ответы на все успешные запросы GET будут включать заголовок ETag: http://developer.oanda.com/rest-live/development-guide/#etag

Я подтвердил, что это тот случай, когда у меня есть успешный запрос с Curl:

$ curl -i "https://api-sandbox.oanda.com/v1/prices?instruments=EUR_USD"
HTTP/1.1 200 OK
Server: openresty/1.7.0.1
Date: Fri, 26 Dec 2014 17:27:01 GMT
Content-Type: application/json
Content-Length: 139
Connection: keep-alive
ETag: "6a6e222a3f90df8f333ff2a6edfb603e4a354905"

{
        "prices" : [
                {
                        "instrument" : "EUR_USD",
                        "time" : "2014-12-26T17:26:12.336249Z",
                        "bid" : 1.24105,
                        "ask" : 1.24119
                }
        ]
}

Однако, когда у меня есть успешный запрос с HttpClient org.apache.httpcomponents 4.3, заголовки Content-Length и ETag не включены.

2014-12-26 17:27:54 INFO  RestClient:91 - Executing request: GET https://api-sandbox.oanda.com/v1/prices?instruments=EUR_USD HTTP/1.1
2014-12-26 17:27:55 INFO  RestClient:103 - Response OK, processing...
2014-12-26 17:27:55 INFO  RestClient:108 - {
    "prices" : [
        {
            "instrument" : "EUR_USD",
            "time" : "2014-12-26T17:28:01.935790Z",
            "bid" : 1.241,
            "ask" : 1.24117
        }
    ]
}
2014-12-26 17:27:55 INFO  RestClient:110 - Headers: [Server: openresty/1.7.0.1, Date: Fri, 26 Dec 2014 17:28:14 GMT, Content-Type: application/json, Transfer-Encoding: chunked, Connection: keep-alive]

Мне не хватает заголовков ETag и Content-Length, когда я регистрирую все заголовки, полученные в ответ на мой запрос Java GET.

Я хотел бы использовать заголовок ETag в своем Java-коде, поэтому, пожалуйста, вы можете помочь мне понять, почему он не возвращается.

  • 0
    Я не получаю их в браузере.
  • 0
    Я отключил сжатие в моем httpClient и затем получил эти теги. Это похоже на этот вопрос: stackoverflow.com/questions/15155638/…
Теги:
http

1 ответ

1
Лучший ответ

HttpClient разрешал сжатие по умолчанию, а OANDA API не поддерживал ETags при включении сжатия:

Note: ETags can not be used in conjunction with compressed responses.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню