4

I'd like to send a post from my Rails app to an API. I can get this to work using POSTMAN:

postman screenshot

If I click on Preview in POSTMAN, it shows this as the request:

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

Which is what I want to send. But I can't seem to replicate form-data when using Ruby's Net::HTTP::Post. Here's what I have so far, but this posts with x-www-form-urlencoded as the content-type:

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)

Is there any way to post just form-data with ruby?

user1280971
  • 105
  • 1
  • 9

1 Answers1

0

you could try using some of Ruby gems like Rest client. http://rubygems.org/gems/rest-client

Just type the following

gem install rest-client

The documentation can be found here http://rubygems.org/gems/rest-client.

JunaidKirkire
  • 878
  • 1
  • 7
  • 17