在python中的socket模块使用代理实例

说socket代理之前,先来说说http代理,python的urllib2是自带http代理功能的,可以用如下代码实现:

proxy_handler = urllib2.ProxyHandler({http : http://地址:端口}) opener = urllib2.build_opener(proxy_handler, urllib2.HTTPHandler) urllib2.install_opener(opener)

如此,接下来用urllib2来urlopen的时候,就会自动使用这个代理了。但是,在我们疯狂的天朝,有时候,http代理并不能满足要求,也许你还想使用更底层的socket代理,于是python里似乎就没有直接的方法了(python3不知道有没有内置,未研究)。这时候,你可能需要这个包:SocksiPy – A Python SOCKS module,下载解压以后,除了文档也就一个 socks.py 文件,很方便使用,给出示例代码:

import socks, socket socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "地址", 端口) socket.socket = socks.socksocket

接下来,你就可以照常使用socket了,一切都会悄悄地通过代理出去的~

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。