Проверка подлинности прокси Ruby open-uri не удалась

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

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"]

Примечание. Поскольку мой прокси-сервер премиум-класса, я заменил настоящие учетные данные прокси на фальшивые.

1 ответ

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

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

url = 'http://stackru.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
Другие вопросы по тегам