2010-04-15 23 views
2

我有点难倒:我有一个简单的messenger客户端程序(纯python,套接字),并且我想添加代理支持(http/s,socks) ,但是我对如何去解决这个问题有点困惑。我假设套接字级别的连接将完成到代理服务器,在这一点上,头文件应包含CONNECT +目标IP(聊天服务器的地址)和身份验证(如果代理需要的话),然而剩下的是有点超出我。如何处理后续连接,特别是读/写等...Python,实现代理支持基于套接字的应用程序(不是urllib2)

是否有任何指导代码支持实现基于套接字的(tcp)编程在Python中?

谢谢

回答

2

可能使用类似SocksiPy这为您完成所有的协议细节,将让你通过SOCKS代理连接,你会没有呢?

+0

这很好。我能够整合所有东西,而SocksiPy的代码正好显示了在HTTP/SOCKS隧道过程中会发生什么。我很惊讶我以前没有找到它,谢谢! – 2010-04-29 14:28:49

0

看一看stunnel

Stunnel的可以让你通过具有 Stunnel的提供加密, 无需更改守护程序的 代码,以确保 非SSL的守护进程和协议 (如POP,IMAP,LDAP等)

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作为响应,然后(在双线结束后),您可以进行通信,就像您将与example.com端口1234进行通信而不使用代理据我所知你已经有了他完成了客户端 - 服务器通信部分)。

+0

谢谢你的回答,非常感谢。尽管如此,我不得不接受前面的海报,因为我能够轻松地整合他的解决方案,并且代码甚至演示了SOCKS4/5处理以及HTTP隧道。 – 2010-04-29 14:27:42

相关问题