open-uri で HTTPS (2)
昨日の話の続き。 どうやら、HTTPSで接続するためには、色々と手続きが必要らしい。 単純に、open-uri で開く方法は分からなくて、結局以下のようにした。
require 'net/https' http = Net::HTTP.new('www.example.com', '443') http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE http.start{ |w| response = w.get('/path_to_contents') puts response.body
verify_mode を OpenSSL::SSL::VERIFY_NONE にしているのは超手抜きで、本当はちゃんと証明書を検証しなきゃいけない。 検証しないのであれば、暗号化されていない、くらいの気持ちで使うこと(理由は結城さんのオレオレ証明書クイズを参考)。