gpt4 book ai didi

java - 为什么对我的 Java GET 请求的响应比 Curl 的相同 URL 具有更少的 header

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:08:08 25 4
gpt4 key购买 nike

我正在使用 OANDA API。文档指出对所有成功的 GET 请求的响应将包含一个 ETag header :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 header 。

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]

当我记录为响应我的 Java GET 请求而收到的所有 header 时,我缺少 ETag 和 Content-Length header 。

我想在我的 Java 代码中使用 ETag header ,请您帮我理解为什么没有返回它。

最佳答案

HttpClient 默认启用压缩,OANDA API 在启用压缩时不支持 ETag:

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

关于java - 为什么对我的 Java GET 请求的响应比 Curl 的相同 URL 具有更少的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27660143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com