【发布时间】:2020-12-07 19:59:50
【问题描述】:
我是 python 新手,不幸的是,我已经尝试了所有方法,方法是将 cacert.pem 文件从 /lib/site-packages/certifi 复制到 /lib/site-packages/requests,然后覆盖此函数并覆盖此函数设置的变量来解决问题。不幸的是,它没有用。我为我糟糕的英语和愚蠢的问题道歉,但不幸的是我找不到合适的解决方案或正确使用它。非常感谢!
I got this error:
File "C:/Users/User/PycharmProjects/X/X/X.py", line 37, in <module>
response = requests.get(url, headers=headers, data=body, verify='False')
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\adapters.py", line 416, in send
self.cert_verify(conn, request.url, verify, cert)
File "C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\adapters.py", line 227, in cert_verify
raise IOError("Could not find a suitable TLS CA certificate bundle, "
OSError: Could not find a suitable TLS CA certificate bundle, invalid path: False
my code for rest api:
payload = {}
headers = dict(Authorization='Bearer '
'jwt=TOKEN..')
response = requests.get(url, headers=headers, data=payload, verify='False')
print(response.text.encode('utf8'))```
【问题讨论】:
-
verify=False是布尔值,表示不验证服务器;verify='False'是一个 string 值,表示使用名为False的 文件或目录 的内容进行验证,而您没有这样的文件或目录。verify=True(bool) or 省略表示使用 default 位置进行验证,它会自动使用 certifi 而无需您做任何“帮助”。 -
@dave_thompson_085 如果我 romoved verify,我得到了这个: Traceback self.connect() self.sock = self._context.wrap_socket(self.sock, 500, in wrap_socket return self.sslsocket_class._create( self.do_handshake() self._sslobj.do_handshake() ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书链中的自签名证书 (_ssl.c:1123)
标签: python-3.x ssl tls1.2 rest ioerror