Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用请求验证SSL证书_Python_Ssl_Python Requests_Ssl Certificate - Fatal编程技术网

Python 使用请求验证SSL证书

Python 使用请求验证SSL证书,python,ssl,python-requests,ssl-certificate,Python,Ssl,Python Requests,Ssl Certificate,我正在尝试验证SSL,但它不起作用 我在我的浏览器上访问了我想访问的机密网站 在Chrome上,我点击了locker>certificates>Details>copy in a file>base 64>certif.cer 我的代码是: test = requests.get('https://confidential.xx/', verify='certif.cer') 错误是: 文件 “C:\Users\xxxxx\Downloads\WinPython\WPy64-3850\pyth

我正在尝试验证SSL,但它不起作用

  • 我在我的浏览器上访问了我想访问的机密网站
  • 在Chrome上,我点击了locker>certificates>Details>copy in a file>base 64>certif.cer
  • 我的代码是:

    test = requests.get('https://confidential.xx/', verify='certif.cer')
    
    错误是:

    文件 “C:\Users\xxxxx\Downloads\WinPython\WPy64-3850\python-3.8.5.amd64\lib\site packages\requests\adapters.py”, 发送中的第514行 raise SSLError(e,请求=请求)

    SSLError:HTTPSConnectionPool(主机='xxxxx', 端口=443):url:/(由以下原因导致)超过了最大重试次数 SSLError(SSLCertVerificationError(1),[SSL:证书验证失败] 证书验证失败:证书中的自签名证书 链(_ssl.c:1123)'))

    我不想使用verify=False,它可以工作,但不安全

    我试过使用和不使用代理,同样的错误


    我需要使此工作,请如何使此代码工作?

    若要发出
    请求
    不抱怨有效证书,提供给
    验证=
    的证书必须包含任何中间证书。要下载完整链,您可以使用Firefox(屏幕截图):

    点击页面信息:


    然后下载完整的PEM链:

    试试这个:注意:你必须包括服务器的证书和任何中间证书。@AndrejKesely谢谢,你知道我在哪里可以找到中间证书吗?我发布了一个带有屏幕截图的答案。@Totopildo你什么意思不可用?我看不到图片。然而,我在Firefow中发现了两件事,请问我可以选择哪一件?下载:PEM(cert)/PEM(chain)@totopildo
    PEM(chain)
    包含完整的链。(注意:奇怪,我能看到图像。你支持代理吗?)是的,但我在搜索图像时,在手机上搞错了我和我。看起来很有效,谢谢!