我正在用python中的请求调用REST API,到目前为止,我设置时已经成功verify=False。
verify=False
现在,我必须使用需要导入以进行身份验证的客户端证书,并且每次使用cert (.pfx). cert.pfx密码保护时,都会收到此错误。
cert (.pfx). cert.pfx
r = requests.post(url, params=payload, headers=headers, data=payload, verify='cert.pfx')
这是我得到的错误:
Traceback (most recent call last): File "C:\Users\me\Desktop\test.py", line 65, in <module> r = requests.post(url, params=payload, headers=headers, data=payload, verify=cafile) File "C:\Python33\lib\site-packages\requests\api.py", line 88, in post return request('post', url, data=data, **kwargs) File "C:\Python33\lib\site-packages\requests\api.py", line 44, in request return session.request(method=method, url=url, **kwargs) File "C:\Python33\lib\site-packages\requests\sessions.py", line 346, in request resp = self.send(prep, **send_kwargs) File "C:\Python33\lib\site-packages\requests\sessions.py", line 449, in send r = adapter.send(request, **kwargs) File "C:\Python33\lib\site-packages\requests\adapters.py", line 322, in send raise SSLError(e) requests.exceptions.SSLError: unknown error (_ssl.c:2158)
我也试过OpenSSL的获得.pem和关键,但与.pem和获取SSL: CERTIFICATE_VERIFY_FAILED
.pem
SSL: CERTIFICATE_VERIFY_FAILED
有人可以指导我如何导入证书以及在何处放置证书吗?我尝试搜索,但仍然遇到相同的问题。
我有同样的问题。该verify参数引用服务器的证书。您希望cert参数指定您的客户端证书。
verify
cert
import requests cert_file_path = "cert.pem" key_file_path = "key.pem" url = "https://example.com/resource" params = {"param_1": "value_1", "param_2": "value_2"} cert = (cert_file_path, key_file_path) r = requests.get(url, params=params, cert=cert)