如何在Ruby http post中发送表单数据

如何在Ruby http post中发送表单数据,ruby,net-http,Ruby,Net Http,我想从Rails应用程序向API发送帖子。我可以通过邮递员来实现这一点: 如果我在“邮递员”中单击“预览”,它将显示以下请求: POST /api/users/status HTTP/1.1 Host: Cache-Control: no-cache ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="params" {"pgb": "sample_token", "token": "s

我想从Rails应用程序向API发送帖子。我可以通过邮递员来实现这一点:

如果我在“邮递员”中单击“预览”,它将显示以下请求:

POST /api/users/status HTTP/1.1
Host: 
Cache-Control: no-cache

----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="params"

{"pgb": "sample_token", "token": "sample_token" }
----WebKitFormBoundaryE19zNvXGzXaLvS5C
这就是我想要发送的。但在使用Ruby的Net::HTTP::Post时,我似乎无法复制表单数据。以下是我到目前为止所掌握的内容,但这篇文章的内容类型是x-www-form-urlencoded:

url = URI.parse(ENV['URL'])

req = Net::HTTP::Post.new(url.path)
req.set_form_data({"params" => data.to_json})

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
https.set_debug_output $stdout

resp = https.request(req)
response = JSON.parse(resp.body)

有没有办法用ruby发布表单数据?

您可以尝试使用一些ruby gems,比如Rest客户端

只需键入以下内容

gem install rest-client
文档可以在这里找到