【发布时间】:2015-11-15 02:23:39
【问题描述】:
我正在尝试使用来自 python 的 requests 包来访问这个站点:https://egov.uscis.gov/casestatus/landing.do 当我运行这个命令时:
requests.get('https://egov.uscis.gov/casestatus/landing.do')
当您的身份验证失败时,我收到了常见的 SSL 错误。
通读stackoverflow并采用其中一种解决方案:下载(.crt)中的证书,然后使用openssl转换为.pem文件。然后,我将此 .pem 文件中的内容复制到 cacert.pem 的末尾。然而这并没有奏效。
>>> requests.get('https://egov.uscis.gov/casestatus/landing.do')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Sandra\Anaconda\lib\site-packages\requests\api.py", line 69, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Sandra\Anaconda\lib\site-packages\requests\api.py", line 50, in request
response = session.request(method=method, url=url, **kwargs)
File "C:\Users\Sandra\Anaconda\lib\site-packages\requests\sessions.py", line 465, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Sandra\Anaconda\lib\site-packages\requests\sessions.py", line 573, in send
r = adapter.send(request, **kwargs)
File "C:\Users\Sandra\Anaconda\lib\site-packages\requests\adapters.py", line 431, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
关于如何在不诉诸verify=False 的情况下克服这个问题的任何指示
另外通过https://superuser.com/a/97203和https://superuser.com/a/176721下载文件有什么区别吗?
因为我对requests.get('https://www.google.com')没有问题,所以其他网站对你下载的证书有限制吗?
【问题讨论】:
标签: python-2.7 ssl python-requests