我有以下代码:
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 正在逃避角色,但我不知道如何让它停止。