今回の目的はとにかくNet::HTTPでSSLで通信をできるようにする。
レスポンスのメッセージヘッダーを取得する
ruby
1require 'net/http' 2require 'uri' 3 uri = URI.parse("ここにURLを入れる") 4 http = Net::HTTP.get_response(uri.host,uri.path,80) 5 puts "HTTP/" + http.http_version 6 puts http.code 7 puts http.message 8 http.each_capitalized do |name, value| 9 puts name + ":" + value 10 end
このコードではHTTPでなら作動します。
このコードを変えてHTTPSでも正常に動くようにしたいです。
参考サイトリンク内容
上記のコードを以下のように変更しました。
ruby
1require 'net/http' 2require 'uri' 3 uri = URI.parse("ここにURLを入れる") 4 http = Net::HTTP.get_response(uri.host,uri.path,443) 5 http.use_ssl = true 6 http.verify_mode = OpenSSL::SSL::VERIFY_NONE 7 puts "HTTP/" + http.http_version 8 puts http.code 9 puts http.message 10 http.each_capitalized do |name, value| 11 puts name + ":" + value 12 end
ポートを443に変更して
ruby
1 http.use_ssl = true 2 http.verify_mode = OpenSSL::SSL::VERIFY_NONE
上記を追加しました。
実行すると・・・
cmd
1cliant3.rb: end of file reached (EOFError)
いろいろ試しましたがポート番号を443にした瞬間にこのエラーが発生するようになります。
もしかして、request_getメソッド自体が443に対応してないのでしょうか?
リンク内容
これは前回の質問ですが
とにかくSSLで通信ができるようにしないことには始まらないので。。。
まずどこら辺から直せばいいかが分からないので
参考になりそうなリンクややり方を教えてください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/22 14:39