at posts/single.html

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 にしているのは超手抜きで、本当はちゃんと証明書を検証しなきゃいけない。 検証しないのであれば、暗号化されていない、くらいの気持ちで使うこと(理由は結城さんのオレオレ証明書クイズを参考)。

関連する日記