我有以下代碼:Ruby Net :: HTTP - 自動停止轉義引號?
http = Net::HTTP.new("www.something.com", 80)
http.set_debug_output($stdout)
http.post("/blah", "something", {'random-parameter' => 'value1="something",value2="somethingelse"'})
後來,當我從標準輸出讀取輸出,它看起來像這樣:
<- "POST /blah HTTP/1.1\r\nAccept: */*\r\nContent-Type: application/x-www-form-urlencoded\r\nConnection: close\r\nrandom-parameter: value1=\"something\",value2=\"somethingelse\"\r\nContent-Length: 9\r\nHost: www.something.com\r\n\r\n"
<- "something"
用引號被轉義。問題在於斜槓似乎被髮送到服務器,而服務器不喜歡這樣。我收到說
Unknown value for random-parameter in header: {value1=\\\"something\\\"value2=\\\"somethingelse\\\"}
所以我的問題是錯誤的,有沒有辦法告訴的Net :: HTTP不插入的斜線,或發送頭之前帶他們出去?
澄清:
我使用Ruby 1.8.7和Rails 2.0.2。
我認爲它可能是逃避角色的Rails,但我不知道如何讓它停止。