我想使用RCurl
使用以下curl命令curl -X POST http://test.reco4j.org:7474/db/data/ext/Reco4jRecommender/node/248/get_recommendations -H "Content-Type: application/json" -d '{"type":"0"}'
所以我使用以下R代码
library(RCurl)
library(RJSONIO)
postForm("http://test.reco4j.org:7474/db/data/ext/Reco4jRecommender/node/248/get_recommendations",
.opts = list(postfields = toJSON(list(id = "0")),
httpheader = c('Content-Type' = 'application/json', ssl.verifypeer = FALSE)
))
但是我得到了一个"内部服务器错误",所以我不确定我的R代码是错误的还是Windows问题。
我之所以提到这个原因,原来的curl命令在windows中失败但在Mac和Linux上运行,所以我不确定R失败是Windows问题还是R问题。
答案 0 :(得分:1)
您的代码中有错误。您需要发送的对"type":"0"
即发送"id":"0"
。
library(RCurl)
library(RJSONIO)
res <- postForm("http://test.reco4j.org:7474/db/data/ext/Reco4jRecommender/node/248/get_recommendations",
.opts = list(postfields = toJSON(list(type = "0")),
httpheader = c('Content-Type' = 'application/json', ssl.verifypeer = FALSE)
))
out <- fromJSON(rawToChar(res))
> head(out[[1]])
$outgoing_relationships
[1] "http://test.reco4j.org:7474/db/data/node/2285/relationships/out"
$data
$data$movieId
[1] 1342
$data$title
[1] "Convent, The (Convento, O) (1995)"
$data$releaseDate
[1] "14-Jun-1996"
答案 1 :(得分:0)
它看起来像一个糟糕的网址。我得到HTTP ERROR 500: INTERNAL_SERVER_ERROR
尝试在firefox中访问该网址。
编辑:忽略,你是对的:curl命令在shell提示符下工作。很抱歉怀疑你。