使用xml发布数据的Rcurl

时间:2014-06-05 02:41:44

标签: r curl rcurl

我正在尝试将以下curl命令转换为Rcurl,并且在使用RCURL使用文件发布数据时遇到问题

curl –X POST –d @out2 http://211.211.211.211:27844/ssentsvc --  header 'SOAPAction: "http://google.com"' --header 'Content-Type: text/xml'

以上命令有效

我在RCURL中尝试以下内容,如何在R curl中合并-d选项以通过数据文件(xml文件)发布?

postForm('http://211.211.211.211:27844/ssentsvc' ,style='HTTPPOST',.opts=list(httpheader=c('SOAPAction'='"http://google.com"', 'Content-Type'='text/xml'),postfields=out2))

我尝试了快速谷歌搜索,找不到任何相关内容。请告知或指导相关指示。

1 个答案:

答案 0 :(得分:1)

评论太长了......

你可以尝试这样的事情(使用httr包)。

# this is just to create a file with xml content - you have this already
library(XML)
txt <- '<?xml version="1.0" encoding="UTF-8"?><doc><item>text</item><item>text</item><item>text</item></doc>'
out2 <- "myfile.xml"
saveXML(xmlTreeParse(txt,useInternalNodes=T),out2)

# you start here...
library(httr)
POST(url='http://211.211.211.211:27844/ssentsvc',
     body=upload_file(out2),
     config=add_headers(c('SOAPAction'='"http://google.com"', 'Content-Type'='text/xml')))