0

我正在使用基于 twisted的马尔可夫链 irc 机器人。Socks 代理可能是腻子,侦听端口 22。将以下代码添加到上述客户端(在 py 文件的顶部)没有帮助:

import socks, socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,
    'localhost', 22)
socket.socket = socks.socksocket

然而,这样做解决了使用 irclib 中的 SimpleIRCClient 时的问题,但是 irclib 不符合其他要求。

谢谢。

4

2 回答 2

2

使用 socks 客户端库 - https://github.com/habnabit/txsocksx

于 2013-10-09T10:22:18.170 回答
1

感谢让-保罗·卡尔德隆。以下代码对我有用。

from twisted.internet.endpoints import TCP4ClientEndpoint 
from txsocksx.client import SOCKS5ClientEndpoint

if __name__ == "__main__":
    chan = "django-hotclub"
    chain_length = 5

    myID = sys.argv[1]
    counterpartID = sys.argv[2]

    puttyEndPoint = TCP4ClientEndpoint(reactor, '127.0.0.1', 22)
    ircEndpoint = SOCKS5ClientEndpoint('irc.freenode.net', 6667, puttyEndPoint)
    d = ircEndpoint.connect(MomBotFactory('#' + chan, myID, counterpartID, chain_length, chattiness=0.05))
    reactor.run()
于 2013-10-12T14:24:49.517 回答