簡體   English   中英

Ruby在HTTPS URL上調用Net :: HTTP.get時拋出Timeout :: Error

[英]Ruby throws Timeout::Error when calling Net::HTTP.get on an HTTPS URL

我已經在不同網絡上的幾台機器上進行了嘗試,它們都運行ruby 1.8.7,經過漫長的等待,我得到了相同的結果。

Net::HTTP.get(URI.parse('https://encrypted.google.com/'))
  Timeout::Error: execution expired

但是HTTP可以正常工作

Net::HTTP.get(URI.parse('http://www.google.com/'))

初始超時后,我收到EOFError代替

  EOFError: end of file reached

真的讓我感到難過。 如果您有任何想法,或者如果您得到相同的結果,可以告訴我,我將非常感謝。

我認為您需要將use_ssl設置為true ...

例:

uri = URI.parse("https://www.google.com/")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri.request_uri)

response = http.request(request)

puts response.body

從下面的Ruby Inside 帖子中可以看出這一點。

暫無
暫無

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

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