python - SSL:CERTIFICATE_VERIFY_FAILED 证书验证在 Python 中失败
问题描述
在 Python 中编写 POST REQUEST 时,我遇到了一些问题:
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1108)
我不想设置:verify = False
在请求中。
我该如何处理这个问题?
解决方案
发生错误是因为服务器使用的证书不是由requests
模块使用的受信任 CA 的默认列表中包含的证书颁发机构 (CA) 颁发的。它是一个自签名证书,因此您需要requests
明确告知信任该单独证书,或者(最好,如果服务器在您的控制之下),获取由受信任 CA 之一签名的证书并让服务器使用该证书反而。
要仅信任服务器正在使用的确切证书,请下载它,而不是设置verify=False
,设置服务器证书verify="/path/to/cert.pem"
在哪里。cert.pem
推荐阅读
- python - 使用 pipwin 在 Windows 10 上安装 matplotlib 的问题
- javascript - 标签未在 React JSX 中返回
- javascript - 日期格式边缘浏览器
- angular - 如何使用角度进行计算
- python - 我收到了带有scrapy的403响应代码
- arrays - 允许用户在 Kotlin 中将项目添加到微调器
- python - 如果在 linux 和 windows 之间共享文件,python zipfile 库会出现问题
- python - 替换 Python 中的嵌套 If 语句
- python - 我在元组值末尾有额外的逗号如何删除这些逗号
- innodb - 为什么 InnoDB 确实使用缓冲池,而不是 mmap 整个文件?