乍一看,这似乎是由于scrapy错误所致。Scrapy定义了自己的Twisted“上下文工厂”:https
:
//github.com/scrapy/scrapy/blob/ad36de4e6278cf635509a1ade30cca9a506da682/scrapy/core/downloader/contextfactory.py#L21-L28
该代码
ClientTLSOptions使用其打算返回的上下文实例化。实例化此类的副作用是在上下文工厂上安装了“信息回调”。信息回调要求Twisted
TLS实现已在连接上设置为“应用程序数据”。但是,由于没有人使用该
ClientTLSOptions实例(实例将立即丢弃),因此永远不会设置应用程序数据。
当信息回调返回以获取Twisted TLS实现(必须完成其一部分工作)时,它会发现没有应用程序数据,并会因您报告的异常而失败。
的副作用
ClientTLSOptions有点令人不愉快,但我认为这显然是由于滥用/滥用造成的刮虫
ClientTLSOptions。我认为此代码不可能经过很好的测试,因为每次证书未能验证时都会发生此错误。
我建议将错误报告给Scrapy。希望他们能解决对它的使用
ClientTLSOptions并为您消除此错误。



