【问题标题】:SSL certificate problem when using wptools使用 wptools 时出现 SSL 证书问题
【发布时间】:2021-12-10 06:42:47
【问题描述】:

在 Udacity 上的 Jupyter 上使用 wptools 时收到以下错误消息。

错误:(60,'SSL 证书问题:证书已过期')

这是代码。

import wptools
page = wptools.page('E.T._the_Extra-Terrestrial').get()

当我运行它时,我会收到以下消息。

en.wikipedia.org (query) E.T._the_Extra-Terrestrial
---------------------------------------------------------------------------
error                                     Traceback (most recent call last)
<ipython-input-2-5bef4afd1ab8> in <module>()
----> 1 page = wptools.page('E.T._the_Extra-Terrestrial').get()

/opt/conda/lib/python3.6/site-packages/wptools/page.py in get(self, show, proxy, timeout)
    459             self.flags['defer_imageinfo'] = True
    460 
--> 461             self.get_query(False, proxy, timeout)
    462             self.get_parse(False, proxy, timeout)
    463 

/opt/conda/lib/python3.6/site-packages/wptools/page.py in get_query(self, show, proxy, timeout)
    574             raise ValueError("get_query needs title or pageid")
    575 
--> 576         self._get('query', show, proxy, timeout)
    577 
    578         return self

/opt/conda/lib/python3.6/site-packages/wptools/core.py in _get(self, action, show, proxy, timeout)
     95         qstr = self._query(action, qobj)
     96         req = self._request(proxy, timeout)
---> 97         response = req.get(qstr, qobj.status)
     98 
     99         self.cache[action]['query'] = qstr

/opt/conda/lib/python3.6/site-packages/wptools/request.py in get(self, url, status)
     74             print("Requests DISABLED", file=sys.stderr)
     75         else:
---> 76             return self.curl_perform(crl)
     77 
     78     def curl_perform(self, crl):

/opt/conda/lib/python3.6/site-packages/wptools/request.py in curl_perform(self, crl)
     82         bfr = BytesIO()
     83         crl.setopt(crl.WRITEFUNCTION, bfr.write)
---> 84         crl.perform()
     85         info = curl_info(crl)
     86         if info:

error: (60, 'SSL certificate problem: certificate has expired')

我也无法在 Windows 10 上安装 wptools 以在本地对其进行测试,以检查 Udacity 的 Jupyter 是否有问题。

【问题讨论】:

    标签: python ssl wikipedia-api


    【解决方案1】:

    我在 Anaconda 导航器上使用 Jupyter Notebook。

    我打开了一个新终端,在 Anaconda 环境中重新安装 wptools

    wptools on github

    $ pip install wptools

    然后它工作正常!

    【讨论】:

      【解决方案2】:

      由于 wikipedia.org 由 LetsEncrypt 签名,其 CA 证书之一已过期: https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/

      您需要从证书存储中删除旧的 DST 根 CA,并将 ISRG 根 CA 添加到证书存储中。

      对于 Centos/Redhat,您可以在 /etc/pki/tls/certs/ca-bundle.crt 中查看您当前的 CA,对于 Debian/Ubuntu,您可以使用以下命令查看您当前的 CA:sudo dpkg-reconfigure ca-certificates

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-10
        • 2018-09-15
        • 2014-08-07
        • 2010-11-24
        • 2019-12-06
        • 2011-07-16
        • 1970-01-01
        相关资源
        最近更新 更多