說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了,一切都會悄悄地通過代理出去的~
新聞熱點
疑難解答