收到所有响应内容后,twisted.web.http.HTTPClient是否实现回调?

| 文档指出,\'handleResponseEnd \'在完全收到响应后即被调用。 http://twistedmatrix.com/documents/11.0.0/api/twisted.web.http.HTTPClient.html#handleResponseEnd 但是,调试似乎表明并非总是如此。当对同一URI发出多个请求时,它似乎仅被FIRST请求调用。当对不同的URI发出多个请求时,它仍然似乎仅被FIRST请求调用。 是否需要这种行为?多次向同一URI发出请求几乎是有道理的,因为接收到的响应通常为“ 304未修改”,因此客户端不会多次接收到该内容。但是,我仍然希望运行一个回调,声明“我们已经收到响应”。 是否有其他回调更适合访问完整的响应?     
已邀请:
        通常,您可以通过在工厂中致电
buildProtocol()
来为每个请求实例化一个新的
HTTPClient
HTTPPageGetter
Agent
就是这样做的。 一种例外是使用HTTP持久连接时。 您正在做什么,因此您需要对多个请求使用相同的协议实例?     
        我实际上是昨晚发现的。我有一个从HTTPClient继承的子类。覆盖connectionMade时,我忘记了调用父级的connectionMade。由于connectionMade充当协议的默认构造函数,因此未正确配置实例。 虽然我不知道该解决方案的每个细节,但事实证明它在测试中是可靠的。发生的异常消失了。     

要回复问题请先登录注册