通过http代理连接Twisted IRCClient

时间:2011-09-30 09:23:27

标签: python twisted irc

我正在玩Twisted,在尝试用Python(2.7)重写旧的java IRC bot时,我建立在IrcLogBot example之上。

我需要通过(非身份验证)HTTP代理连接到IRC服务器 - 但似乎在irc.IRCClient或reactor.connectTCP中似乎没有任何支持。我在错误的地方看?我可以将我的连接包装在某种代理隧道中吗?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

如果您要连接的HTTP代理支持CONNECT请求,这是完全可行的。

这是an example,用于通过HTTP代理隧道连接SSH连接。它也适用于IRC连接。

使用示例代码,您应该可以执行以下操作:

proxy = HTTPProxyConnector('myhttpproxy.server', 8080)
proxy.connectTCP('myirc.server', 6667, MyTwistedIRCClientFactory())

还有一些问题可以解决更优雅/快速处理服务器超时问题,但如果您包含某种定期应用程序或基础协议级别ping,则应该防止两台服务器超时连接。