一、urllib2/urllib 代理设置
urllib2是Python标准库,功能很强大,只是使用起来稍微麻烦一点。在Python 3中,urllib2不再保留,迁移到了urllib模块中。urllib2中通过ProxyHandler来设置使用代理服务器。
也可以用install_opener将配置好的opener安装到全局环境中,这样所有的urllib2.urlopen都会自动使用代理。
在Python 3中,使用urllib。
二、requests 代理设置
requests是目前最优秀的HTTP库之一,也是我平时构造http请求时使用最多的库。它的API设计非常人性化,使用起来很容易上手。给requests设置代理很简单,只需要给proxies设置一个形如{'http': 'x.x.x.x:8080', 'https': 'x.x.x.x:8080'} 的参数即可。其中http和https相互独立。
In [5]: requests.get('httpbin.org/ip', proxies={'http': '121.193.143.249:80'}).json()
Out[5]: {'origin': '121.193.143.249'}
可以直接设置session的proxies属性,省去每次请求都要带上proxies参数的麻烦。
若你的代理需要使用HTTP Basic Auth,可以使用 user:password@host/ 语法:
要为某个特定的连接方式或者主机设置代理,使用 scheme://hostname 作为 key, 它会针对指定的主机和连接方式进行匹配。
proxies = {'10.20.1.128': '10.10.1.10:5323'}
注意,代理URL必须包含连接方式。









