【问题标题】:Overwrite TCP Connector in twisted覆盖扭曲的 TCP 连接器
【发布时间】:2015-12-30 15:28:42
【问题描述】:

我有一个使用 Python 的扭曲框架编写的 HTTP 代理服务器,以消除大多数 HTTP 代理的一些限制,特别是在有错误的循环 DNS 记录时,其中一个或多个条目脱机、无法访问或没有提供的协议的开放端口。

为此,我想实现一个缓存,为我的扭曲堆栈提供一个有效的 IP,这样我就可以减少超时错误(以及必要的重试)和这些记录产生的其他问题。

现在我想替换默认实现中使用的默认twisted.internet.tcp.Connector。我发现它在twisted.internet.protocol.ClientFactory.clientConnectionFailed() 中作为参数给出,但没有找到它的设置位置,所以我可以替换它。

如何用我自己的子类替换默认的连接器类,是否有任何我错过的文档?

编辑:看来,Glyph's answer 指向正确的方向。现在的问题是,如何实现/注入通过我的调整解决的新端点。

【问题讨论】:

    标签: python twisted


    【解决方案1】:

    您永远不需要替换 Connector。听起来您想使用endpoint 并编写一个比HostnameEndpoint 更具体的DNS。但是,如果您的问题能够揭示更多关于具体您正在尝试处理错误的循环 DNS 记录的详细信息,将会更有帮助。

    【讨论】:

    • 我添加了一些关于我想做的事情的细节。不确定这是否可能...
    • “注入”新端点的方法是简单地实例化它,然后将其传递给需要端点的代码;不需要花哨的步法。
    猜你喜欢
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多