Подключите Twisted IRCClient через http прокси - PullRequest
0 голосов
/ 30 сентября 2011

Я играю с Twisted и, пытаясь переписать старый Java-бот Java в Python (2.7), я опирался на пример IrcLogBot .

Мне нужно подключиться кIRC-сервер через (не авторизованный) HTTP-прокси - но, кажется, нет никакой поддержки для этого ни в irc.IRCClient, ни в реакторе.connectTCP.Я смотрю в неправильных местах?Могу ли я обернуть свое соединение каким-нибудь прокси-туннелером?

Заранее спасибо за любую помощь!

1 Ответ

3 голосов
/ 12 марта 2012

Если HTTP-прокси, к которому вы подключаетесь, поддерживает запросы CONNECT, это вполне выполнимо.

Вот пример , который работает для туннелирования SSH-соединений через HTTP-прокси. Это должно работать и для IRC-соединений.

С примером кода вы должны быть в состоянии сделать что-то вроде:

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

Есть еще некоторые проблемы, которые нужно решить для более быстрой и изящной обработки таймаутов сервера, но если вы включите какое-то периодическое приложение или базовый пинг на уровне протокола, это не даст обоим серверам отключить время ожидания вашего соединения.

...