2010-09-28 76 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