简单的卷曲-H在R中

use*_*186 -1 curl r rcurl

我想要做

curl -H "Authorization: Basic YOUR_API_KEY" -d '{"classifier_id":155, "value":"TEST"}' "https://www.machinelearningsite.com/language/classify"
Run Code Online (Sandbox Code Playgroud)

我试过了

  h = getCurlHandle(header = TRUE, userpwd = YOUR_API_KEY, netrc = TRUE)
out <- getURL("https://www.machinelearningsite.com/language/classify?classifier_id=155&value=TEST", curl=h,ssl.verifypeer=FALSE)
Run Code Online (Sandbox Code Playgroud)

但它说方法不允许

hrb*_*str 5

curl命令行参数转换为httr调用要容易得多:

library(httr)

result <- GET("https://www.machinelearningsite.com/language/classify",
              add_headers(Authorization=sprintf("Basic %s", YOUR_API_KEY),
              query=list(classifier_id=155, value="TEST")))
Run Code Online (Sandbox Code Playgroud)

理想情况下,YOUR_API_KEY它将是一个环境变量,因此您可以将其更改为:

result <- GET("https://www.machinelearningsite.com/language/classify",
              add_headers(Authorization=sprintf("Basic %s", Sys.getenv("YOUR_API_KEY")),
              query=list(classifier_id=155, value="TEST")))              
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

content(result)
Run Code Online (Sandbox Code Playgroud)

检索实际数据.