美文网首页
在 Scrapy 中禁用 SSL 证书验证

在 Scrapy 中禁用 SSL 证书验证

作者: 朝畫夕拾 | 来源:发表于2023-08-22 11:12 被阅读0次

    【问题标题】:Disable SSL certificate verification in Scrapy在 Scrapy 中禁用 SSL 证书验证

    【问题描述】:

    我在使用 Scrapy 时,每当我使用 Scrapy 抓取证书的 CN 值与服务器域名匹配的 HTTPS 站点时,Scrapy 都非常好用!但另一方面,每当我尝试抓取证书的 CN 值与服务器域名不匹配的站点时,我都会得到以下信息:

    我查看了尽可能多的文档,据我所知,Scrapy 没有办法禁用 SSL 证书验证。甚至 Scrapy Request 对象的文档(我认为这是此功能所在的位置)也没有参考:

    http://doc.scrapy.org/en/1.0/topics/request-response.html#scrapy.http.Request https://github.com/scrapy/scrapy/blob/master/scrapy/http/request/init.py

    也没有解决问题的 Scrapy 设置:

    http://doc.scrapy.org/en/1.0/topics/settings.html

    缺少按源使用 Scrapy 并根据需要修改源。

    【问题讨论】:

    从文档中看,您可以修改 DOWNLOAD_HANDLERS 或 DOWNLOAD_HANDLERS_BASE 设置以更改 scrapy 处理 https 的方式。从那里您可能必须创建自己的修改后的HttpDownloadHandler,以克服您收到的错误。

    /me 头靠在桌子上。这当然看起来很有希望。您能否将其写成答案以便我接受,然后添加我用于其他人的代码以供将来参考?

    标签: python ssl scrapy

    【解决方案1】:

    根据您为the settings 链接的文档,您似乎可以修改DOWNLOAD_HANDLERS 设置。

    来自文档:

    """

        A dict containing the request download handlers enabled by default in

        Scrapy. You should never modify this setting in your project, modify

        DOWNLOAD_HANDLERS instead.

    """

    DOWNLOAD_HANDLERS_BASE = {

        'file': 'scrapy.core.downloader.handlers.file.FileDownloadHandler',

        'http': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',

        'https': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',

        's3': 'scrapy.core.downloader.handlers.s3.S3DownloadHandler'}

    然后在您的设置中,如下所示:

    """

        Configure your download handlers with something custom to override

        the default https handler

    """

    DOWNLOAD_HANDLERS = {'https': 'my.custom.downloader.handler.https.HttpsDownloaderIgnoreCNError'}

    因此,通过为https 协议定义一个自定义处理程序,您应该能够处理您遇到的错误并允许scrapy 继续其业务。可以专门解决我遇到的问题。

    相关文章

      网友评论

          本文标题:在 Scrapy 中禁用 SSL 证书验证

          本文链接:https://www.haomeiwen.com/subject/wscumdtx.html