【问题标题】:httr GET returns wrong content-typehttr GET 返回错误的内容类型
【发布时间】:2019-11-26 17:36:57
【问题描述】:

httr 1.4.1 R 版本 3.6.1(也尝试使用 3.5.3) 编辑(添加verbose())输出。

我有一个请求如下:

r <- GET("https://my.cool.domain",add_headers(.headers = c('x-api-key' = 'abcdefg', 'Accept' = "text/csv")), verbose())

在我的机器上它响应:

-> GET / HTTP/1.1
-> Host: https://my.cool.domain
-> User-Agent: libcurl/7.54.0 r-curl/4.2 httr/1.4.1
-> Accept-Encoding: deflate, gzip
-> x-api-key: abcdefg
-> Accept: text/csv
-> 
<- HTTP/1.1 200 OK
<- Date: Tue, 26 Nov 2019 17:50:15 GMT
<- Content-Type: text/csv
<- Content-Length: 24902
<- Connection: keep-alive
<- x-amzn-RequestId: ...
<- Content-Encoding: deflate
<- x-amz-apigw-id: ...
<- X-Amzn-Trace-Id: ...
Response [https://my.cool.domain]
Date: 2019-11-26 17:20
Status: 200
Content-Type: text/csv
Size: 209 kB
cats,dogs...
yes,no...
yes,yes...
no,no...

但是在我同事的机器上(相同版本的 httr 和 R,以及更新版本的 R)我得到以下信息:

-> GET / HTTP/2
-> Host: https://my.cool.domain
-> User-Agent: libcurl/7.64.1 r-curl/4.2 httr/1.4.1
-> Accept-Encoding: deflate, gzip
-> x-api-key: abcdefg
-> Accept: text/csv
-> 
<- HTTP/2 200 
<- date: Tue, 26 Nov 2019 17:46:17 GMT
<- content-type: application/json
<- content-length: 21501
<- x-amzn-requestid: ...
<- content-encoding: deflate
<- x-amz-apigw-id: ...
<- x-amzn-trace-id: ...
Response [https://my.cool.domain]
Date: 2019-11-26 17:30
Status: 200
Content-Type: application/json
Size: 377 kB

我正在与https://my.cool.domain 域的开发人员合作,我可以确认请求标头参数(x-api-key 和 'Accept' = "text/csv")是完美的。该请求适用于我的机器和其他几台机器,但不适用于这位同事的机器。

这里出了什么问题,我该如何调试?

谢谢

【问题讨论】:

  • 如果完全相同的代码向不同的客户端返回不同的结果,则说明差异一定在服务器端。也许将verbose() 添加到GET() 呼叫并分享确切的结果。如果没有可重复的示例,那么帮助您并不是真的很东方。
  • 谢谢@MrFlick 我已经用verbose()更新了这个
  • 看来您需要检查服务器的 HTTP/2 配置
  • 有没有办法告诉 Rstudio 使用 HTTP/1.1?

标签: r httr


【解决方案1】:

这已通过执行 httr::set_config(httr::config(http_version = 1.1)) 强制 1.1 修复。

【讨论】:

  • 请注意,通过执行“= 1.1”,您很可能会将其设置为 HTTP 版本 1.0。整数值“2”对应于 1.1。见stackoverflow.com/questions/59056554/…。设置“1.1”最有可能导致使用值“1”,对应于版本 1.0。
猜你喜欢
  • 1970-01-01
  • 2022-11-10
  • 2020-11-14
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
  • 1970-01-01
相关资源
最近更新 更多