特定のURLにPUTリクエストを送信しようとしていますが、これまでのところ成功していません。
this などのHTTPリクエスターGUIを介して実行している場合、次のURLでPUTを実行するのと同じくらい簡単です。
http://www.mywebsite.com:port/Application?key=apikey&id=id&option=enable|disable
上記のリクエストでは、ポート番号が指定されていることに注意してください。 Rubyコードを介してリクエストを送信するときにも、これを行う必要があります。
このようなリクエストをRubyで複製するにはどうすればよいですか?
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')