2010-09-28 42 views
1

我正在尝试将XML发布到一个返回XML的API。我成功地这样做,通过执行一个简单的curl命令帮我将此CURL转换为Rails中的Post方法

curl "http://my.server.com/api/identity/emails_from_ids" 
--proxy dvaic.snv.fex:80 -d "<users><id>3434</id></users>" 
-X POST -H 'Content-Type: application/xml' -u admin:admin 

上述命令执行成功。我现在想用Rails做同样的事情。怎么做?我经历了Net :: Http文档,但我无法解读它。

感谢

回答

1

什么这一个?

Net::HTTP::Proxy("dvaic.svn.fex", 80, "admin", "admin").start("my.server.com", 80) do |http| 
    response = http.post("/api/identity/emails_from_ids", 
         "<users><id>3434</id></users>", 
         {"Content-Type" => "application/xml"}) 
    # ... response.body <== Response with XML 
end 
+0

中做到这一点,而且几乎没有什么适合我的调整!谢谢! – bragboy 2010-09-28 11:10:07

0

你可以把它直接在系统

%x{curl "http://my.server.com/api/identity/emails_from_ids" 
--proxy dvaic.snv.fex:80 -d "<users><id>3434</id></users>" 
-X POST -H 'Content-Type: application/xml' -u admin:admin} 
+0

我不想这样做,因为我必须硬编码的用户名和密码。 – bragboy 2010-09-28 08:05:43

+0

你可以用一些变量来更新你的命令,比如在这个问题中的解释:http://stackoverflow.com/questions/3810290/rails-curl-syntax – shingara 2010-09-28 08:24:36

+0

我不能使用CURL,因为我的团队在Windows上在本地运行相同的应用程序。这引入了一个依赖,即应用程序运行的地方,curl应该在那里。我的问题是可以在Rails – bragboy 2010-09-28 08:29:42