Python urllib/urlib2 代理使用方法

Python的urllib和urllib2模块使得HTTP编程变得非常容易,下面就看看urllib/urlib2使用http代理来访问网络的方法。

urllib2的代理(proxy)使用方法

urllib2使用proxy必需创建一个ProxyHandler对象,然后再用build_opener创建一个OpenerDirector对象,步骤稍微复杂了一些,下面给出urllib2使用HTTP代理的例子:

import urllib2
 
proxy_handler = urllib2.ProxyHandler({'http': 'http://www.pythonclub.org:3128/'})
proxy_auth_handler = urllib2.HTTPBasicAuthHandler()
proxy_auth_handler.add_password('realm', 'host', 'username', 'password')
 
opener = urllib2.build_opener(proxy_handler, proxy_auth_handler)
# This time, rather than install the OpenerDirector, we use it directly:
f = opener.open('http://www.example.com/login.html')
content = f.read()

上面的例子中的代理需要使用用户名密码验证,如果你的代理可以匿名访问的话,可以不需要创建HTTPBasicAuthHandler对象。那么使用urllib2使用HTTP代理就会简单很多。