【Ruby】end of file reached (EOFError)を解決

【Ruby】end of file reached (EOFError)を解決



Rubyを使いシンプルなGETリクエストを行ったところ、表題のend of file reached (EOFError)が出てきました。

このエラーの解決方法を記載します。

解決方法

 use_ssl = true

この一行を追加すれば解決します。

コード

それでは実際のコードで見ていきましょう。

 require "net/http"
 require "uri"
 require "json"

 api = “URL”
 uri = URI.parse(api)
 http = Net::HTTP.new(uri.hostname, uri.port)
 http.use_ssl = true //追加
 req = Net::HTTP::Get.new(uri.request_uri)
 response = http.request(req)

 hash = JSON.parse(response.body)
 p hash

原因

URLがhttpではなくhttpsを使っているときに出るエラーのようです。

エラーのend of file reached(ファイルが終わりに達した)だけでは、エラーの原因を仮定できず、意外な原因でした。

参考サイト

qiita.com

www.it-swarm-ja.com