我正在玩Twisted,在尝试用Python(2.7)重写旧的java IRC bot时,我建立在IrcLogBot example之上。
我需要通过(非身份验证)HTTP代理连接到IRC服务器 - 但似乎在irc.IRCClient或reactor.connectTCP中似乎没有任何支持。我在错误的地方看?我可以将我的连接包装在某种代理隧道中吗?
提前感谢您的帮助!
答案 0 :(得分:3)
如果您要连接的HTTP代理支持CONNECT请求,这是完全可行的。
这是an example,用于通过HTTP代理隧道连接SSH连接。它也适用于IRC连接。
使用示例代码,您应该可以执行以下操作:
proxy = HTTPProxyConnector('myhttpproxy.server', 8080)
proxy.connectTCP('myirc.server', 6667, MyTwistedIRCClientFactory())
还有一些问题可以解决更优雅/快速处理服务器超时问题,但如果您包含某种定期应用程序或基础协议级别ping,则应该防止两台服务器超时连接。