使用httr R

时间:2019-05-03 22:57:13

标签: r node.js json httr

我订阅了金融数据提供商ORATS。软件工程师与我联系,让我知道我的GET()请求正在超时。他说允许在我的GET()请求标头中使用gzip编码。 SWE不使用R编写代码,而是向我发送了一些node.js代码供您依赖。

我认为httr GET()请求会自动将文件压缩为gzip。

下面是SWE提供的node.js代码,其后是我当前的R代码,直到我增加了从其API中提取文件的大小(开始超时)之前,该代码一直起作用。

const request = require('request');

const options = {
  url: 'https://api.orats.io/data/cores/general?include=earn',
  headers: {
  'Authorization' : 'your authorization token',
  'Accept-Encoding' : 'gzip'
  },
  gzip : true
};

request(options, function(err, response, body){
// Body is already uncompressed b/c the request library uncompresses it for you.
console.log(JSON.parse(body));
});


R code:
library(httr)
x = GET(url, add_headers(Authorization = token))
y = rawToChar(x$content)

我希望此代码请求gzip文件。 谢谢。

1 个答案:

答案 0 :(得分:1)

还将相同的Accept-Encoding行添加到httr GET请求中:

library(httr)
x = GET(url, add_headers(.headers = c('Authorization'= token,
                                      'Accept-Encoding' = 'gzip, deflate')))

请注意,httr automatically decompresses the response