我需要將一個POST請求作爲XML字符串發送,但我得到的結果很奇怪。代碼:Ruby RestClient將XML轉換爲散列
require 'rest_client'
response = RestClient.post "http://127.0.0.1:2000", "<tag1>text</tag1>", :content_type => "text/xml"
我希望收到"<tag1>text</tag1>"
作爲請求服務器上的參數。相反,我得到"tag1"=>"text"
。它將XML轉換爲散列。這是爲什麼?任何方式在這個?
服務器日誌仍然具有散列參數。 – 2012-02-09 15:43:21
我在當前的項目中做了類似於上面的工作,並且按照我的預期工作。這正是我發送的內容:「response = RestClient.post(my_url,xml_body,{:content_type =>:xml,:accept =>:json,:cookies => @login_cookies})。response.body是一個字符串我之前發送了一個:accept =>:xml,並返回了字符串XML結果。至於發送xml_body,您可能需要發送「<?xml version =」1.0「encoding =」UTF -8「?>」xml header。我可能只是不明白這個問題,因爲我認爲我正在做你正在談論的內容 – 2012-02-10 04:01:59
Rails將嘗試將XML主體解釋爲服務器上的資源/模型。不要這樣做,然後嘗試發送XML作爲參數變量,如':xml_data =>' text '',那麼它只是作爲轉義字符串對待,並且將保留在服務器上的字符串。 –
2012-02-10 04:11:32