返回介绍

socks5 代理 2

发布于 2024-09-21 14:54:08 字数 962 浏览 0 评论 0 收藏 0

既然 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(("www.weibo.com", 80))
s.sendall("GET / HTTP/1.1 /r/n/r/n")
print s.recv(4096)

返回值如下

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文