How can I send an HTTP PUT request in Ruby?

核能气质少年 提交于 2019-11-30 07:29:02

问题


I am trying to send a PUT request to a particular URL, and have thus far been unsuccessful in doing so.

If I were doing it through an HTTP requester GUI, such as this one, it would be as simple as doing a PUT on the following url:

http://www.mywebsite.com:port/Application?key=apikey&id=id&option=enable|disable

Note that a port number is specified in the above request. I will also need to do that when submitting the request through the ruby code.

How can I replicate such a request in Ruby?


回答1:


require 'net/http'

port = 8080
host = "127.0.0.1"
path = "/Application?key=apikey&id=id&option=enable"

req = Net::HTTP::Put.new(path, initheader = { 'Content-Type' => 'text/plain'})
req.body = "whatever"
response = Net::HTTP.new(host, port).start {|http| http.request(req) }
puts response.code

Larry's answer helped point me in the right direction. A little more digging helped me find a more elegant solution guided by this answer.

http = Net::HTTP.new('www.mywebsite.com', port)
response = http.send_request('PUT', '/path/from/host?id=id&option=enable|disable')


来源:https://stackoverflow.com/questions/11403728/how-can-i-send-an-http-put-request-in-ruby

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!