我的应用程序使用'twisted.web.client.Agent'来获取Web内容。但Agent类需要启动“reactor”实例。如果我使用'twistd'启动我的应用程序,根本就没有'reactor.run()'。那么如何才能获得'reactor'实例?
答案 0 :(得分:11)
我希望有一个better answer,但是在Twisted应用程序中获取当前活动反应器的方法是:
from twisted.internet import reactor
重要的是不要在整个地方执行此操作,而是在应用程序代码的“顶部”附近执行此操作,以便您可以轻松地替换反应器以进行测试或以其他方式修改其行为(例如,您可能会更改connectTCP
以通过代理)。这就是Agent
采用reactor
参数而非导入当前参数的原因。