【发布时间】:2014-09-17 17:13:59
【问题描述】:
我正在尝试对这个 url 做一个简单的 GET 请求:link
这是我已经用于其他网址和作品的基本 python 代码。
url = 'http://www.bbvafrances.com.ar/francesGo2-Portal/institucional/busqueda.do?m=&page=1'
r = requests.get(url)
print r.text
问题是使用这个特定的 url 我得到一个 SSL 错误:
Traceback (most recent call last):
File "frances.py", line 134, in <module>
r = requests.get(url,verify=False)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 335, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 454, in send
history = [resp for resp in gen] if allow_redirects else []
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 144, in resolve_redirects
allow_redirects=False,
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 438, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 331, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac
关于这个导致请求崩溃的特定 url 发生了什么的任何想法? 我尝试添加自定义标题但仍然没有运气。
提前致谢。
编辑:现在我正在尝试使用建议的这种 SSL 方式作为答案。
url = 'https://www.bbvafrances.com.ar/francesGo2-Portal/institucional/busqueda.do?m=&page=1'
s = requests.Session()
s.mount(url, SSLAdapter(ssl.PROTOCOL_SSLv3))
r = s.get(url)
print r.text
这是新的痕迹:(几乎与第一个相同)
Traceback (most recent call last):
File "frances.py", line 138, in <module>
r = s.get(url)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 463, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 451, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 557, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 420, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac
【问题讨论】:
-
FWIW,我可以重现您的问题,并且可以确认这不会在其他 HTTPS 站点上发生
标签: python ssl get python-requests