2015-09-28 1 views
1

Я кодирую собственный скрипт Ruby, чтобы отменить сайт с помощью Nokogiri, всякий раз, когда я передаю параметры прокси методу open-uri open(), он возвращает 407 Proxy Authentication Required, но мои параметры имеют данные аутентификации, вот мой кодОшибка авторизации прокси-сервера Ruby open-uri

proxy_url = URI.parse("http://12.34.567.89:PORT") 
session = Nokogiri::HTML(open("http://google.com", :proxy_http_basic_authentication =>[proxy_url, "username", "password"] 

Примечание: Поскольку мой прокси-наградной, я заменил реальный прокси-учетные данные с поддельным

ответ

0

у меня есть ограничительный прокси на работе, но в followig работ. Попробуйте код с вашими учетными данными прокси. Я использовал Nokogiri для синтаксического анализа, но вам это не нужно для получения HTML.

require 'net/http' 
require 'uri' 
require 'nokogiri' 

url = 'http://stackoverflow.com/questions/32818853/ruby-open-uri-proxy-authentication-fails' 

proxy_host, proxy_port, proxy_user, proxy_pass = '****', 8080, "*****", "*****" 
uri = URI.parse(url) 

Net::HTTP::Proxy(proxy_host, proxy_port, proxy_user, proxy_pass).start(uri.host, uri.port) do |http| 
    http.get(uri.path) do |str| 
    puts Nokogiri::HTML(str).text 
    end 
end 
+0

Нет, он выдает ошибку (HTTPProxyAuthenticationRequired доступ к кэшу запрещен), я попытался мой прокси-сервер с теми же учетными данными с помощью Curl он отлично работает, но через рубин это не так. – Mahi008