龙卷风:[SSL:CERTIFICATE_VERIFY_FAILED]

问题描述 投票:0回答:2

我正在尝试运行此程序,以便我可以使用龙卷风了解异步编程。

`import tornado.ioloop
 from tornado.httpclient import AsyncHTTPClient
 url = 'https://jsonplaceholder.typicode.com/posts'

 def handle_response(response):
       url = response.request.url
       data = response.body
       print('{}: {} bytes: {}'.format(url, len(data), data))

 http_client = AsyncHTTPClient()

 http_client.fetch(url, handle_response)

 tornado.ioloop.IOLoop.instance().start()`

但是,当我尝试运行它时,我收到此错误

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)
python ssl-certificate tornado
2个回答
1
投票

SSL错误是因为Python 3.7不再依赖于MacOS的openSSL。它附带了自己的openSSL捆绑,无法访问MacOS的根证书。所以我需要做的就是运行以下命令 -

/Applications/Python\ 3.7/Install\ Certificates.command

0
投票

我使用python3测试了你的代码,它按预期运行。您可能希望通过浏览器或使用curl来解决从计算机连接到该网站的问题。

这表明由于某种原因,http客户端无法验证网站的SSL证书。如果您无法在浏览器中访问该页面,则需要确定原因,可能是由于基于DNS的广告/内容拦截器或其他(未知)内容。

编辑:这也可能是由于您的计算机离实际时间太远的时间。

© www.soinside.com 2019 - 2024. All rights reserved.