去年,我编写了一个Python脚本来查询SEC的EDGAR数据库,以检索他们不同年份和季度的公司文件索引。当时,该脚本运行良好,但我最近将其重新拾起,却发现现在我收到SSL:每当运行它时都会CERTIFICATE_VERIFY_FAILED错误。
我在以下路径上进行了SSL服务器测试: https://www.sec.gov/Archives/edgar/full-index/2018/QTR2/company.idx
该报告指示证书的所有通行证(此处链接(
同样有趣的是,如果您直接导航到浏览器中的路径,则会返回"拒绝访问"错误。如果我没记错的话,在过去这会导致索引文件被下载。我知道SEC的EDGAR数据库最近经历了一些重组,因为它们不再支持FTP服务。
有没有人知道这里可能发生了什么以及为什么我会收到 SSL 错误?
有关进一步的背景信息,我正在使用urllib.request.urlopen((
提前谢谢。
花了一点挖掘,但我找到了这个问题的答案。完全归功于Craig Glennie,他在回答Stack Overflow其他地方的问题时发布了答案: urllib 和"SSL: CERTIFICATE_VERIFY_FAILED"错误
我没有意识到安装在OS-X上的开箱即用的Python 3.6没有任何证书(如Python 3.6的自述文件.rtf中所述(。运行/applications/Python\ 3.6/Install\ Certificates.command 让一切都变得平坦。