我无法使用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。有谁能够帮我?
答案 0 :(得分:6)
您可以尝试使用&#34; PROXY_TYPE_HTTP_NO_TUNNEL&#34;如果您的服务器不需要隧道
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
而修复的已知错误答案 1 :(得分:0)
这取决于您的代理服务器,如果您使用socket5(Shadowsock),您可以使用此
http = httplib2.Http(proxy_info=httplib2.ProxyInfo(
httplib2.socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 1080))