繁体   English   中英

龙卷风:[SSL:CERTIFICATE_VERIFY_FAILED]

[英]Tornado : [SSL: CERTIFICATE_VERIFY_FAILED]

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM