在R中发出GET请求

时间:2016-02-22 17:22:27

标签: r http rcurl httr

我一直在玩httr和rcurl,并且无法将以下curl GET请求转换为R:

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer 31232187asdsadh23187' 'https://this.url.api.com:334/api/endpoint'

特别是,我在传递授权选项方面遇到了一些麻烦,因为我无法在两个库中找到等效参数。它可能是自定义标题吗?

3 个答案:

答案 0 :(得分:2)

httr::GET('https://this.url.api.com:334/api/endpoint', 
      accept_json(), 
      add_headers('Authorization' = 'Bearer 31232187asdsadh23187'))

另见https://github.com/hrbrmstr/curlconverter

答案 1 :(得分:1)

尝试新的和进一步改进的curlconverter包。它将需要一个curl请求并输出一个httr命令。

#devtools::install_github("hrbrmstr/curlconverter")

library(curlconverter)

curlExample <- "curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer 31232187asdsadh23187' 'https://this.url.api.com:334/api/endpoint'"

resp <- make_req(straighten(curlExample))
resp

答案 2 :(得分:0)

我同意sckott的回答。我对curlconverter的维护和功能性了解不多,但是要完成httr功能,我将添加几行。

getInfoInJson <- httr::GET('https://this.url.api.com:334/api/endpoint', 
      accept_json(), 
      add_headers('Authorization' = 'Bearer 31232187asdsadh23187'))

 #safe the info in a json object 
 jsonInfoImg <- content(getInfoInJson, type="application/json")

希望有帮助。