Ruby 如何使用开放uri发出POST请求?
是否可以使用openuri从Ruby发出POST请求?不幸的是Ruby 如何使用开放uri发出POST请求?,ruby,open-uri,Ruby,Open Uri,是否可以使用openuri从Ruby发出POST请求?不幸的是openuri只支持GET动词 您可以下拉一个级别并使用net/http,也可以使用rest-open-uri,该uri旨在支持POST和其他动词。您可以执行gem安装rest-openuri来安装它。我也非常推荐。这是编写API客户机的良好基础 require 'open-uri' require 'net/http' params = {'param1' => 'value1', 'param2' => 'value2
openuri
只支持GET
动词
您可以下拉一个级别并使用net/http
,也可以使用rest-open-uri
,该uri旨在支持POST
和其他动词。您可以执行gem安装rest-openuri
来安装它。我也非常推荐。这是编写API客户机的良好基础
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
它对我起了作用:)就这么简单:
require 'open-uri'
require 'net/http'
response = Net::HTTP.post_form(URI.parse("https://httpbin.org/post"), { a: 1 })
puts response.code
puts response.message
puts response.body
我建议使用response.methods-Object.methods
查看所有可用的方法,例如消息
,标题,
奖金:发布/删除请求:
puts Net::HTTP.new("httpbin.org").post("/post", "a=1").body
puts Net::HTTP.new("httpbin.org").delete("/delete").body
-1这不是使用OpenURI来处理连接,而是使用Net::HTTP。在本例中,OpenURI仅用于加载URI模块。此外,您还声明了
params
,然后引用了query
,无论其使用与否。如果OpenURI不能做到这一点,这个答案将帮助很多人。没有办法否决这个答案访问上面发布的主要网站有点困惑-这是一个我必须自己编译并包含的宝石吗?