Ruby выбрасывает Timeout :: Error при вызове Net :: HTTP.get по HTTPS-URL - PullRequest
2 голосов
/ 17 августа 2010

Я пробовал это на нескольких машинах в разных сетях, все работают под управлением 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

Это действительно меня озадачило. Если у вас есть какие-либо идеи или вы можете сообщить мне, если вы получите те же результаты, я буду очень признателен.

1 Ответ

4 голосов
/ 17 августа 2010

Я думаю, вам нужно установить значение true для use_ssl ...

пример:

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

Это людоедство из следующих рубинов внутри post .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...