如何使用open-uri发出POST请求?

Ale*_*dev 27 ruby open-uri

是否可以使用open-uri从Ruby发出POST请求?

Mar*_*nny 32

不幸的是open-uri只支持GET动词.

您可以下拉一个级别并使用net/http或使用rest-open-uri旨在支持POST和其他动词.你可以gem install rest-open-uri安装它.


Ven*_* D. 13

require 'open-uri'
require 'net/http'
params = {'param1' => 'value1', 'param2' => 'value2'}
url = URI.parse('http://thewebsite.com/thepath')
resp, data = Net::HTTP.post_form(url, params)
puts resp.inspect
puts data.inspect
Run Code Online (Sandbox Code Playgroud)

它对我有用:)

  • -1这不是使用OpenURI来处理连接,而是使用Net :: HTTP.在此示例中,OpenURI仅用于加载URI模块. (6认同)

tom*_*lor 10

我也非常推荐rest-client.它是编写API客户端的理想基础.