Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么对我的javaget请求的响应的头比Curl的相同URL少_Java_Http - Fatal编程技术网

为什么对我的javaget请求的响应的头比Curl的相同URL少

为什么对我的javaget请求的响应的头比Curl的相同URL少,java,http,Java,Http,我正在玩OANDA API。文档说明,对所有成功GET请求的响应将包括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 Co

我正在玩OANDA API。文档说明,对所有成功GET请求的响应将包括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
请求时,不包括内容长度和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]
当我记录响应javaget请求而收到的所有头时,我缺少ETag和Content-Length头


我想在我的Java代码中使用ETag头,因此请您帮助我理解为什么不返回它。

默认情况下,HttpClient启用了压缩,并且启用压缩时OANDA API不支持ETag:

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

我也没有在浏览器中获取它们。我在httpClient中禁用了压缩,然后收到了这些标记。这看起来类似于这个问题: