我有点难过:我有一个简单的messenger客户端程序(纯python,套接字),我想添加代理支持(http / s,socks),但是我对如何去做有点困惑。我假设套接字级别的连接将完成代理服务器,此时标头应包含CONNECT +目标IP(聊天服务器)和身份验证,(如果代理需要),但其余的是有点超越我。如何处理后续连接,特别是读/写等......
是否有关于Python中基于套接字(tcp)编程的代理支持实现的指南?
谢谢
答案 0 :(得分:3)
也许使用SocksiPy之类的东西为你做所有的协议细节,让你通过SOCKS代理连接,就像没有它一样?
答案 1 :(得分:1)
非常简单 - 在发送HTTP请求后CONNECT example.com:1234 HTTP/1.0\r\nHost: example.com:1234\r\n<additional headers incl. authentication>\r\n\r\n
,服务器以HTTP/1.0 200 Connection established\r\n\r\n
响应,然后(在双线结束后),您可以像通过示例进行通信一样进行通信。 com端口1234没有代理(据我所知,你已经完成了客户端 - 服务器通信部分)。
答案 2 :(得分:0)
看看stunnel。
Stunnel可以让你安全 非SSL感知守护程序和协议 (如POP,IMAP,LDAP等) Stunnel提供加密, 不需要更改守护进程 代码