Scrapy。尝试抓取网站时,SSL错误“DH KEY TOO SMALL”

时间:2016-06-28 00:50:33

标签: ssl openssl scrapy scrapy-spider pyopenssl

尝试抓取网站时重试后,我收到以下错误。

[<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_check_cert_and_algorithm', 'dh key too small')]>]

我尝试使用Scrapy中可用的每种SSL方法,但结果相似。当我在Chrome中访问该网站时,该页面似乎不安全(HTTPS已损坏),但我仍然可以绕过该错误。使用python请求的行为相同(我可以通过将verify设置为False来获取站点内容)。

有没有解决方法?我不能像在python请求中那样关闭SSL验证吗?

P.S。共享站点URL没有意义,因为它只允许来自列入白名单的IP的请求。

1 个答案:

答案 0 :(得分:-1)

禁用验证无济于事,因为这不是证书验证的问题。可以帮助改变所使用的密码,即禁用DH密码,以便不使用受弱DH密钥(logjam攻击)影响的代码。使用旧版本的OpenSSL还有助于防止僵局攻击。

不幸的是,似乎没有明显的方法来指定在Scrapy中使用的密码集。如果挂钩到Twith或OpenSSL库,也许可以找到一个。