首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代理背后的Python请求

代理背后的Python请求
EN

Stack Overflow用户
提问于 2016-03-08 02:31:17
回答 1查看 2.2K关注 0票数 2

我在一个公司代理服务器(Isa服务器)后面。

当使用urllib2时,我可以通过代理连接到互联网,没有任何问题,但当使用请求库时,我不能。

下面是我的urllib2代码:

代码语言:javascript
复制
proxy = urllib2.ProxyHandler({})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)

page = urllib2.urlopen('http://www.google.com')
print page.getcode()

这个打印'200‘并且工作正常

然而,当对请求执行同样的操作时,我得到了一个407代码,并且不起作用。

代码语言:javascript
复制
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的代理也不能工作:

代码语言:javascript
复制
page = requests.get('http://http://www.google.com', proxies=urllib2.getproxies())

Urllib2正在做一些requests没有做的事情。

有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-08 02:56:04

如果您的代理需要身份验证,则需要设置这些变量:

代码语言:javascript
复制
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'
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35851227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档