доступ к веб-сайту через прокси с использованием Net :: HTTP прокси в ruby - PullRequest
1 голос
/ 28 июня 2011

Я пытаюсь получить доступ к веб-сайту среды QA, используя Net :: HTTP :: Proxy, чтобы получить ответ. Но я продолжаю получать SocketError всякий раз, когда пытаюсь подключиться. Пожалуйста, найдите фрагмент кода, который я пытаюсь использовать.

proxy_addr = "http://autoproxy1.qa.com"
proxy_class = Net::HTTP::Proxy(proxy_addr,80).start("mywebsite.com")

Это ошибка, которую я получаю

SocketError: getaddrinfo: Name or service not known
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/net/http.rb:581:in `initialize'
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/net/http.rb:581:in `open'
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/net/http.rb:581:in `block in connect'
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/timeout.rb:44:in `timeout'
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/timeout.rb:82:in `timeout'
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/net/http.rb:581:in `connect'
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/net/http.rb:574:in `do_start'
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/net/http.rb:569:in `start'
    from /site/ruby/ruby-1.9.1-4/lib/ruby/1.9.1/net/http.rb:453:in `start'
    from (irb):6
    from /site/ruby/ruby-1.9.1-4/bin/irb:12:in `<main>'

Я могу получить доступ к тому же веб-сайту с помощью Selenium, настроив параметры прокси-сервера в браузере. Но мне нужно получить ответ через Net :: HTTP. Пожалуйста, дайте мне знать, если есть другой способ сделать это.

Ответы [ 3 ]

1 голос
/ 03 апреля 2012

попробуйте удалить http:// с вашего прокси-адреса.

1 голос
/ 16 февраля 2013
#!/usr/bin/ruby1.9.3 
require 'net/http'

proxy_addr = '109.104.128.130'
proxy_port = 8741

Net::HTTP::Proxy(proxy_addr, proxy_port).start('www.templesec.org') {|http|}
0 голосов
/ 15 декабря 2011

Net::HTTP принимает URI для классов start и get, поэтому вы можете изменить свой код на что-то вроде этого:

...