Подтвердить что ты не робот

Как отправить запрос HTTP PUT в Ruby?

Я пытаюсь отправить запрос PUT на определенный URL-адрес и до сих пор не увенчался успехом.

Если бы я делал это через GUI-запросчик HTTP, например this, это было бы так же просто, как сделать PUT на следующем URL-адресе:

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

Обратите внимание, что номер порта указан в вышеуказанном запросе. Мне также нужно будет сделать это при отправке запроса через код ruby.

Как я могу реплицировать такой запрос в Ruby?

4b9b3361

Ответ 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

Ответ Ларри помог мне указать в правильном направлении. Немного больше копания помогли мне найти более элегантное решение, руководствуясь этим ответом.

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