龙卷风:[SSL:CERTIFICATE_VERIFY_FAILED]

时间:2018-09-01 22:02:12

标签: python ssl-certificate tornado

我正在尝试运行该程序,以便可以理解使用龙卷风进行的异步编程。

`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)

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我使用python3测试了您的代码,它按预期运行。您可能要对通过浏览器或使用curl从计算机连接到该网站进行故障排除。

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

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