400-893-5552
在线客服

由浅入深写代理(5)-socks5-代理

 
2019-12-31 18:01所属分类

既然 socks5 是协议,所以客户端也必须有 socks5 的实现才能和服务端连接。这里面我就用现成的开源库 [PySocks]( ) 来演示下。

pySocks 有两种方式来实现,一种是直接的 s = socks.socksocket() 创建一个新的 socket 对象,还有一种是 Monkeypatching,算是 python 的黑魔法。

我们用第一种方法试下

首先把代理服务器开起来

python3 socks5_server.py

然后运行如下代码

import socks
s = socks.socksocket() # Same API as socket.socket in the standard lib
s.set_proxy(socks.SOCKS5, "localhost", 8888)
s.connect(("Sina Visitor System", 80))
s.sendall("GET / HTTP/1.1 /r/n/r/n")
print s.recv(4096)

返回值如下

由浅入深写代理(5)-socks5-代理

由于没有设置 http 正确的 header,所以 weibo 服务器返回了 400

当然你可以直接用 chrome 的 代理插件设置如下

由浅入深写代理(5)-socks5-代理

可以看到所有的请求都经过 socks5 服务器了

友情链接    PPTP 代理IP 极速加速 91IP代理 IP代理 51IP代理 代理IP