【问题标题】:setting proxy on httplib2在 httplib2 上设置代理
【发布时间】:2014-01-25 02:06:37
【问题描述】:

我无法使用 httplib2 连接到网站。我的电脑在防火墙后面,正如https://code.google.com/p/httplib2/wiki/Examples 建议的那样,我做了如下操作:

import httplib2
from httplib2 import socks

http = httplib2.Http(proxy_info = httplib2.ProxyInfo(socks.PROXY_TYPE_HTTP, <proxy host address>, 8080, proxy_user = <proxy user id>, proxy_pass = <proxy password>))
resp, content = http.request("http://google.com", "GET")

但是,我还是得到了

httplib2.ServerNotFoundError: Unable to find the server at google.com

我的电脑可以正常使用 urllib2。有谁能够帮助我?

【问题讨论】:

    标签: python http proxy


    【解决方案1】:

    如果您的服务器不需要隧道,您可以尝试使用“PROXY_TYPE_HTTP_NO_TUNNEL”

    import httplib2
    
    http = httplib2.Http(proxy_info = httplib2.ProxyInfo(httplib2.socks.PROXY_TYPE_HTTP_NO_TUNNEL, 'proxy.example.com', 8080, proxy_user = 'username', proxy_pass = 'password') )
    resp, content = http.request("http://google.com", "GET")
    

    这是一个已知的错误,由于 issue #38 而被修复

    【讨论】:

      【解决方案2】:

      这取决于你的代理服务器,如果你使用socket5(Shadowsock)你可以使用这个

      http = httplib2.Http(proxy_info=httplib2.ProxyInfo( httplib2.socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 1080))

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-15
        • 1970-01-01
        • 2014-09-01
        • 1970-01-01
        • 2019-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多