我使用帖子How to specify an authenticated proxy for a python http connection?
上的以下代码import urllib2
def get_proxy_opener(proxyurl, proxyuser, proxypass, proxyscheme="http"):
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_mgr.add_password(None, proxyurl, proxyuser, proxypass)
proxy_handler = urllib2.ProxyHandler({proxyscheme: proxyurl})
proxy_auth_handler = urllib2.ProxyBasicAuthHandler(password_mgr)
return urllib2.build_opener(proxy_handler, proxy_auth_handler)
if __name__ == "__main__":
import sys
if len(sys.argv) > 4:
url_opener = get_proxy_opener(*sys.argv[1:4])
for url in sys.argv[4:]:
print url_opener.open(url).headers
else:
print "Usage:", sys.argv[0], "proxy user pass fetchurls..."
我正在使用我的wpad.dat文件中为argv [1]指定的代理ip。 (#为机密性)
return "PROXY 138.84.###.###:####";
我正在使用argval [2]和[3]的用户名和密码。当我使用http://google.com时,它会吐出相应的标题信息。当我使用http://shipcsx.com/pub_sx_mainpagepublic_jct/sx.shipcsxpublic/Main时,它显示:HTTP错误407:需要代理身份验证。
答案 0 :(得分:0)
这可能不是StackExchange的问题。您可能需要对代理服务器有一些可见性才能正确排除故障。没有其他信息,我会随意猜测Google域(或其中的一部分)被配置为代理中的可信站点。这允许请求完全绕过代理身份验证。