您的位置:新闻资讯 >文章内容
python如何设置使用http代理
来源:本站 作者:admin 时间:2019-07-01 16:07:15

大家对HTTP代理应该都非常熟悉,它在很多方面都有着极为广泛的应用。HTTP代理分为正向代理和反向代理两种,后者一般用于将防火墙后面的服务提供给用户访问或者进行负载均衡,典型的有Nginx、HAProxy等。这里所讨论的是正向代理。


 python如何设置使用http代理


首先简单介绍一下,什么是HTTP代理?

 

HTTP代理本质上是一个Web应用,它和其他普通Web应用没有根本区别。 HTTP代理收到请求后,根据Header中Host字段的主机名和Get/POST请求地址综合判断目标主机,建立新的HTTP请求并转发请求数据,并将收到的响应数据转发给客户端。

 

接下来步入正题,Python程序中设置HTTP代理

 

urllib2/urllib 代理设置:urllib2是Python标准库,功能很强大,只是使用起来稍微麻烦一点。在Python 3中,urllib2不再保留,迁移到了urllib模块中。urllib2中通过ProxyHandler来设置使用代理服务器。

 

proxy_handler=urllib2.ProxyHandler({'http': '121.193.143.249:80'})

 

opener=urllib2.build_opener(proxy_handler)

 

r=opener.open('http://httpbin.org/ip')

 

print(r.read())

 

proxy_handler=urllib2.ProxyHandler({'http': '121.193.143.249:80'})

 

opener=urllib2.build_opener(proxy_handler)

 

r=opener.open('http://httpbin.org/ip')

 

print(r.read())

 

也可以用install_opener将配置好的opener安装到全局环境中,这样所有的urllib2.urlopen都会自动使用代理。

 

urllib2.install_opener(opener)

 

r=urllib2.urlopen('http://httpbin.org/ip')

 

print(r.read())

 

在Python 3中,使用urllib:

 

proxy_handler=urllib.request.ProxyHandler({'http': 'http://121.193.143.249:80/'})

 

opener=urllib.request.build_opener(proxy_handler)

 

r=opener.open('http://httpbin.org/ip')

 

print(r.read())

 

 


相关文章内容简介
在线咨询
大客户经理
大客户经理
13318873961

大客户经理微信

微信公众号

微信公众号

回到顶部