我在一个公司代理服务器(Isa服务器)后面。
当使用urllib2时,我可以通过代理连接到互联网,没有任何问题,但当使用请求库时,我不能。
下面是我的urllib2代码:
proxy = urllib2.ProxyHandler({})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
page = urllib2.urlopen('http://www.google.com')
print page.getcode()这个打印'200‘并且工作正常
然而,当对请求执行同样的操作时,我得到了一个407代码,并且不起作用。
proxy_dict = {
'http': 'http://10.20.23.5:8080',
'https': 'ftp://10.20.23.5:8080',
'ftp': 'https://10.20.23.5:8080'
}
page = requests.get('http://www.google.com', proxies=proxy_dict)
print page.status_code
print page.reason这将打印'407‘和原因:'Proxy Authentication Required ( Forefront TMG需要授权才能完成请求。拒绝访问Web Proxy筛选器。)’
即使我传递给请求,来自urllib2的代理也不能工作:
page = requests.get('http://http://www.google.com', proxies=urllib2.getproxies())Urllib2正在做一些requests没有做的事情。
有什么帮助吗?
发布于 2016-03-08 02:56:04
如果您的代理需要身份验证,则需要设置这些变量:
proxy_dict = {
'http': 'http://username:password@10.20.23.5:8080',
'https': 'https://username:password@10.20.23.5:8080',
'ftp': 'ftp://username:password@10.20.23.5:8080'
}https://stackoverflow.com/questions/35851227
复制相似问题