当前位置: 首页 > 知识库问答 >
问题:

Python请求。[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl. c: 645)[重复]

汤念
2023-03-14

在我的python脚本中,我尝试调用api,如下所示:

with requests.Session() as session:
  url= 'https://example.com'
  headers = {
            'Content-Type': 'application/x-www-form-urlencoded'
  }

request_parameters = {'username': 'test', 'password':'pass'}
response = (session.post(auth_url, data=request_parameters, headers=headers))

我得到以下例外情况:

 File "C:\Users\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 518, in post return self.request('POST', url, data=data, json=json, **kwargs)

File "C:\Users\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)

File "C:\Users\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 585, in send
r = adapter.send(request, **kwargs)

File "C:\Users\Programs\Python\Python36\lib\site-   packages\requests\adapters.py", line 477, in send

raise SSLError(e, request=request)

requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)

我想打电话给我的服务人员https://example.com.它适用于http://连接,但不适用于https://。我应该为https连接做什么?另外,当我通过Rest客户端以https方式调用该服务时,它工作得非常好。是否有其他方式将该服务称为https连接?

共有1个答案

隆宏爽
2023-03-14

可以禁用SSL验证,但不建议禁用。

如果您知道并信任您正在向其发布数据的网站,这没关系,但请注意,如果该网站被劫持,您将向恶意网站发布数据,直到您意识到该网站已被破坏。

with requests.Session() as session:
    session.post('https://google.com', data={'hello': 1}, verify=False)

这是不使用验证时您将收到的警告:

C:\Users\vsyrakis\AppData\Local\Continuum\Anaconda3\lib\site packages\requests\packages\urllib3\connectionpool。py:791:不安全请求警告:正在发出未验证的HTTPS请求。强烈建议添加证书验证。见:https://urllib3.readthedocs.org/en/latest/security.html不安全(警告)

 类似资料:
  • - 我运行了此脚本,但出现了此错误。我怎么做?

  • 问题内容: 尝试上使用。 无论软件包如何,pip安装都会失败。例如,还会导致SSL错误。 原始安装的Python 3.4.1包含pip 1.5.6。我尝试做的第一件事是安装已经安装,它是ArcGIS附带的。python并且pip直到我安装3.4.1时才可从命令行使用。 作品。可能是因为点子搜索无法验证站点的SSL证书。 我在公司网络中,但是我们不通过代理访问Internet。 每台公司计算机(包括

  • 问题内容: 尝试运行Discord机器人时,遇到此错误: 它刚刚开始无处不在,并且每次都在发生。 我在Windows 10上使用python 3.8 这是什么意思,我该如何解决? 问题答案: 要解决此问题: 使用Internet Explorer转到discord.com(以管理员身份运行) 点击右上角的锁 点击查看证书 安装一个 PS:如果您的防病毒软件对Web浏览器有效,并且此解决方案不起作用

  • 问题内容: 我使用安装了python 3.6 并尝试从https下载文件,但会引发错误 ssl.SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:749) 在Python安装(从.pkg)的,自述指示一个需要运行在安装后到 安装 将认证路径符号链接到路径 才能使用证书。 但是,在brew install中,该文件不存在并且似乎没有运行。 问

  • 问题内容: 这段代码 给我这个错误 我对SSL几乎一无所知,但我曾尝试下载该站点的证书并使用该选项指向该文件,但是它没有用。我想念什么吗? 问题答案: 正如评论中已经指出的那样:从SSLLabs报告中可以看出,该网站的SSL实施不正确。该报告中有关您的问题的主要部分是: 该服务器的证书链不完整。等级上限为B。 这意味着服务器没有发送验证证书所需的完整证书链。这意味着您需要在验证时自行添加丢失的证书