gpt4 book ai didi

python - Python GET 请求的 SSL 错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:36 25 4
gpt4 key购买 nike

我正在尝试对这个 url 做一个简单的 GET 请求:link

这是我已经用于其他 url 和作品的基本 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 发生了什么的任何想法?我尝试添加自定义 header ,但仍然没有成功。

提前致谢。

编辑:现在我正在尝试使用建议的这种 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

最佳答案

问题是,服务器宣布支持 TLS1.0,但如果您实际尝试使用 TLS1.0 与其通信,它就会中断。相反,您必须使用 SSL3。

您可以使用包含在 requests_toolbelt 包中的 SSLAdapter 来做到这一点: http://toolbelt.readthedocs.org/en/latest/user.html#ssladapter .

然后使用 ssl.PROTOCOL_SSLv3 而不是文档中显示的那个。

关于python - Python GET 请求的 SSL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com