python socket模块使用代理实例代码

greendog 发布于1年前 阅读12444次
0 条评论

介绍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了。

需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。