RubyでHTTPリクエストを送る
たまにしか使わなくてよく忘れるのでメモします。
require 'net/http' require 'uri' uri = URI.parse("http://kinosuke.hatenablog.jp/") # when get request req = Net::HTTP::Get.new("#{uri.path}?#{uri.query}") # when post request # req = Net::HTTP::Post.new(uri.path) # req.set_form_data({first_name: 'taro', last_nem: 'yamada'}, ';') # when use basic auth # req.basic_auth('username', 'passowrd') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = (uri.scheme == 'https') # これ無いとSSLページ接続時に「end of file reached (EOFError)」というエラー出る res = http.request(req) # keep-alive使わない版 res = http.start {|h| h.request(req) } # keep-alive使う版。ブロックが閉じた時点でセッションを閉じる case res when Net::HTTPSuccess, Net::HTTPRedirection # OK puts res.code puts res.body else # NG puts res.code puts res.body end