我正在尝试使用Net::HTTP::Proxy访问一个QA环境网站,以获取每当我尝试连接时都会收到SocketError的response.But。请找到我正在尝试使用的代码片段。
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获得它的响应。如果有其他方法,请告诉我。
发布于 2012-04-03 18:44:08
尝试从您的代理地址中删除http://。
发布于 2013-02-17 02:48:58
#!/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|}发布于 2011-12-15 07:33:37
Net::HTTP接受用于start和get类的URI,因此您可以将代码更改为如下所示:
require 'uri'
require 'net/http'
proxy_addr = "http://autoproxy1.qa.com"
proxy_port = 80
proxy_class = Net::HTTP::Proxy(proxy_addr, proxy_port).start(URI("mywebsite.com"))https://stackoverflow.com/questions/6500461
复制相似问题