Python,为基于套接字的应用程序(不是urllib2)实现代理支持

时间:2010-04-15 16:07:23

标签: python proxy tcp sockets socks

我有点难过:我有一个简单的messenger客户端程序(纯python,套接字),我想添加代理支持(http / s,socks),但是我对如何去做有点困惑。我假设套接字级别的连接将完成代理服务器,此时标头应包含CONNECT +目标IP(聊天服务器)和身份验证,(如果代理需要),但其余的是有点超越我。如何处理后续连接,特别是读/写等......

是否有关于Python中基于套接字(tcp)编程的代理支持实现的指南?

谢谢

3 个答案:

答案 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提供加密,   不需要更改守护进程   代码