gpt4 book ai didi

python - 将 SocksiPy 与 SSL 结合使用

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:41 25 4
gpt4 key购买 nike

我正在尝试将 SocksIPy 与 ssl 模块(来自 stdlib)结合使用来获取站点的远程证书,但 SocksIPy 无法使用 ssl。

下面的代码将连接到 check.torproject.org 并声明我们没有使用 Tor(意味着 SocksIPy 不工作)(不好)。

不确定 SocksIPy 是否是解决此问题的最佳解决方案,但我无法找到任何其他方法来代理原始套接字(或让 pycurl/urllib2 使用 SOCKS 代理并提供 SSL 证书!)。

澄清一下,我的问题是套接字没有被代理。我想通过我选择的代理获得 ssl 证书,但没有成功。

现在看来,我可以使用代理或 SSL,但不能同时使用两者。帮助!

import socks
import ssl

s = socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)

ss = ssl.wrap_socket(s)
ss.connect(('check.torproject.org', 443))
ss.write("""GET / HTTP/1.0\r
Host: check.torproject.org\r\n\r\n""")

# print ss.getpeercert()
print ss.read(), ss.read(), ss.read()
ss.close()

最佳答案

我在运行 tcpdump 时测试了这段代码,所以它应该可以工作。

import socks
import ssl

s = socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",port=9050)
s.connect(('83.94.121.246', 443))
ss = ssl.wrap_socket(s)
print ss.send("hello")
ss.close()

我没有查看 ssl.py,但我猜你必须在 socks 对象而不是 ssl 对象上调用 connect。

关于python - 将 SocksiPy 与 SSL 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56401949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com