【问题标题】:How to send form-data in Ruby http post如何在 Ruby http post 中发送表单数据
【发布时间】:2013-11-02 09:53:23
【问题描述】:

我想将帖子从我的 Rails 应用程序发送到 API。我可以使用 POSTMAN 来实现这一点:

如果我在 POSTMAN 中点击 Preview,它将显示为请求:

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 net-http


    【解决方案1】:

    您可以尝试使用一些 Ruby gem,例如 Rest 客户端。 http://rubygems.org/gems/rest-client

    只需输入以下内容

    gem install rest-client
    

    文档可以在这里找到http://rubygems.org/gems/rest-client

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-23
      • 2015-10-21
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 1970-01-01
      • 2018-08-16
      • 2020-10-22
      相关资源
      最近更新 更多