Ниже приведен код Ruby, который я использую для получения HTML-контента веб-страниц. Мне не разрешено изменять этот код.
def getHtmlFromUrl(url)
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
http.read_timeout = 2
html = http.get(uri.to_s)
# ...
# Handle any error that may have occurred (return nil)
# ...
return html.body
end
Этот код, похоже, имеет проблемы с чтением определенных URL-адресов, которые не имеют косой черты в конце. Например, ошибка возникает, когда я пытаюсь прочитать http://drive.google.com
, но не http://drive.google.com/
. Почему это так? Я решил реализовать исправление, добавляя косую черту в конце домена, если путь не указан. Это безопасное решение? Возможно ли, что в случае http://somedomain.com/
возникает ошибка, а в случае http://somedomain.com
работает корректно?
return html.body
в Ruby. Идиоматично просто говоритьhtml.body
в конце метода и использовать в именах методов змеиный регистр, а не camelCase. - person the Tin Man   schedule 08.12.2013