在Ruby中,似乎沒有可能使用Net:HTTP發佈到具有查詢字符串的URL。至少,在我的測試中,它會下降,並且有一個3年的討論here關於它如何不起作用。在Ruby中使用Querystring發佈到Url中
那麼,什麼是一個體面的方式去做呢?如果有更簡單的方法,我寧願不添加對Mechanize或類似的依賴。而且,鑑於它應該可以符合規格,今天是3年後,我希望有一些改變。
在Ruby中,似乎沒有可能使用Net:HTTP發佈到具有查詢字符串的URL。至少,在我的測試中,它會下降,並且有一個3年的討論here關於它如何不起作用。在Ruby中使用Querystring發佈到Url中
那麼,什麼是一個體面的方式去做呢?如果有更簡單的方法,我寧願不添加對Mechanize或類似的依賴。而且,鑑於它應該可以符合規格,今天是3年後,我希望有一些改變。
其餘的客戶端已經結束的Net :: HTTP小包裝:https://github.com/archiloque/rest-client
RestClient.post('http://example.com/resource', {
:param1 => 'one',
:nested => {:param2 => 'two'},
})
這些都是後params。我期待發布的是'http://example.com/resource?foo=bar'* plus *後綴參數。似乎RestClient像Net :: HTTP一樣正在刪除'foo = bar'。 –
@Tome:我明白了,你想要查詢+發佈。然後休息客戶端,作爲包裝,是沒有用的。 – tokland
它應該工作。試試這個:
RestClient.post 'http://example.com/resource?foo=bar', {:param1 => 'one'}
上面指定的RestClient gem。你會看到:'bar',在params [:foo]
FWIW中,cURL完全處理了這一點,就像.NET中的WebRequest類一樣。 –
你是否解決了這個問題? – jrub