【问题标题】:accessing a website through a proxy using Net::HTTP proxy in ruby在 ruby​​ 中使用 Net::HTTP 代理通过代理访问网站
【发布时间】:2011-06-28 00:35:49
【问题描述】:

我正在尝试使用 Net::HTTP::Proxy 访问 QA 环境网站以获取响应。但每当我尝试连接时,我都会收到 SocketError。请找到我正在尝试使用的代码 sn-p。

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 得到它的响应。如果有其他方法,请告诉我。

【问题讨论】:

    标签: ruby http sockets proxy proxy-classes


    【解决方案1】:

    尝试从您的代理地址中删除 http://

    【讨论】:

      【解决方案2】:
      #!/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|}
      

      【讨论】:

        【解决方案3】:

        Net::HTTP 接受 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"))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-30
          • 2018-12-13
          • 1970-01-01
          • 2017-08-15
          • 1970-01-01
          • 2011-06-27
          相关资源
          最近更新 更多