簡體   English   中英

Ruby on Rails 中帶有 http.request 的 EOFError(到達文件末尾)

[英]EOFError (end of file reached) in Ruby on Rails with http.request

我正在嘗試獲取 json 表單 url:

uri = URI.parse("http://84.38.185.251:9262/send")

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)

response = http.request(request)

response.code             # => 301
response.body             # => The body (HTML, XML, blob, whatever)
response["cache-control"] # => public, max-age=2592000
puts response.body

但我收到一個錯誤:`EOFError(到達文件末尾):app/controllers/sensors_controller.rb:35:in sensinfo'

傳感器控制器.rb:35:

response = http.request(request)

我做錯了什么?

這個錯誤主要是因為使用 https

如果是https那么

請試試這個

uri = URI.parse("https://84.38.185.251:9262/send")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
http.use_ssl = true  
response = http.request(request)

附注

http.use_ssl = true

如果不是https

http.use_ssl = false

或者您可以添加條件

http.use_ssl = true if domain =~ /^https/

您可以在此https://web.archive.org/web/20140226183826/http://expressica.com/2012/02/10/eoferror-end-of-file-reached-issue-when-post-上獲得更多信息帶有網絡的表單http/

我認為這是某種錯誤。 typhoeus似乎有效:

require 'typhoeus'

response = Typhoeus.get("http://84.38.185.251:9262/send")
p response.body
#=> {"ids":"-1","data":{"temp":"nan","h":"-1"},"status":"255","voltage":"-1"}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM