0
我需要做的含花括號和冒號的URL的POST請求:如何發佈一個URL containting花括號和冒號
http://192.168.178.23/emoncms/input/post.json?json={power:200}&apikey=671b341330a7b1a4c20bf8ae7dd1faf1&time=12345677890
我嘗試這樣做:
uri = URI("http://192.168.178.23/emoncms/input/post.json")
res = Net::HTTP.post_form(uri, "json" => "{power:200}", "apikey" => "671b341330a7b1a4c20bf8ae7dd1faf1", "time" => "1234567890")
但這個結果在:
json=%7BPVCurrent%3A3.0%7D&apikey=671b341330a7b1a4c20bf8ae7dd1faf1&time=1406144643
我打電話的服務不能解析這個字符串。我如何強制紅寶石不編碼這些值?
如果你正在做一個post請求,應該將JSON放在body中而不是查詢參數中嗎? –
網址不能包含大括號或冒號。這不僅是紅寶石的事情,這是如何工作的網址。另外,如上所述,使用POST動詞時,您不會使用url發送參數,只需將它們發送給請求主體。在我看來,你想發送json請求,而不是http請求。 – BroiSatse
對於舒爾來說,這是將valuas作爲身體的一部分發布的最好方式 - 但我所說的API並沒有這樣做,所以我必須將這個json放在URI中。 – PascalTurbo