2013-12-18 5 views
4

그래서 기본적으로, 나는 다음과 컬 호출의 RCurl 동등한를 얻을 수 꿔 :RCurl POST 요청

curl -H "AUTH-KEY: soanclCNdnLDcnlNc" -H "Content-Type: application/json" -X POST -d '{"documents":["http://localhost:3000/documents/2","http://localhost:3000/documents/4"]}' http://localhost:3000/documents/download?format=zip 

나는이 뭔가를 얻을 관리했지만, 항상 더 컸다 말풍선이 만들어 내고 압축을 풀 수없는 것보다 : 그리고 내 삶을 위해 그것이 무엇인지 알아낼 수는 없습니다.

x= list(items=c("http://localhost:3000/documents/2", "http://localhost:3000/documents4")) 
headers <- list('AUTH-KEY' = "soanclCNdnLDcnlNc", 'Accept' = 'application/json', 'Content-Type' = 'application/json') 
postForm("http://localhost:3000/documents/download?format=zip", .opts=list(postfields=toJSON(x), httpheader=headers)) 
+0

(1) 컬 호출에는 "문서"가 있지만 R 코드의 첫 줄에는 "항목"이 있습니다. (2)'toSS'가 당신에게 정확한 내용을주고 있다는 것을 확인 했습니까? – Thomas

+0

실제로 나를 여기에 넣는 것은 실수입니다. 그것은 내가 잘못 돌아온 내용을 다루는 것으로 나타났습니다. 필자가 원했던 올바른 zip 파일을 생성하는 writeBin() 대신에 write() R 함수를 사용하여 파일에 기록했습니다. 건배 – crypts

답변

2

요즘 멋진 패키지가 있지만 RCurl은 여전히 ​​정직한 작업을 수행합니다. 일반적으로

는 RCurl에 매핑합니다 :

curl -H "AUTH-KEY: xxxx" \ 
    -H "Content-Type: "application/x-www-form-urlencoded" \ 
    -d '{"key1": "value1","key2": "value2"}' \ 
    "https://httpbin.org/post" 

사용

(당신의 헤더 및 필드 따라 조정) : 마이너스를 탈출 Content-Type에 대한

hdr=c(Authorization="xxxx", `Content-Type`="application/x-www-form-urlencoded") 
flds='{"key1": "value1","key2": "value2"}' 
postForm("https://httpbin.org/post", 
     .opts=list(httpheader=hdr, postfields=flds)) 

참고 역 따옴표를.