0

去年,我编写了一个 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()

提前致谢。

4

1 回答 1

0

花了一点挖掘,但我找到了这个问题的答案。完全归功于 Craig Glennie,他在 Stack Overflow 上其他地方的问题的回复中发布了答案: urllib 和“SSL:CERTIFICATE_VERIFY_FAILED”错误

我没有意识到安装在 OS-X 上的开箱即用的 Python 3.6 没有任何证书(如 Python 3.6 的 ReadMe.rtf 文件中所述)。运行 /Applications/Python\ 3.6/Install\ Certificates.command 让一切顺利。

于 2018-06-23T20:08:57.803 回答