python - SSL 错误 TLSV1_ALERT_INTERNAL_ERROR 与 aiohttp 库

标签 python ssl openssl aiohttp

我有一个应用程序通过 aiohttp 发出 api 请求图书馆。

session = aiohttp.ClientSession()
session.get(url, proxy=get_proxy_v2(), ssl=False)
我每秒发出大约 10 个请求。大约每小时一次,我收到以下错误:
aiohttp.client_exceptions.ClientConnectorSSLError: Cannot connect to host <REDACTED_HOST>:443 ssl:False [[SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:997)]
最初,我没有 ssl=False但添加以尝试避免此错误,但它没有效果,大约每小时一次我仍然收到此错误。我可以简单地添加一个 try catch 来捕获错误并重试,但想正确修复此错误。即使我将 ssl 设置为 False,我也对如何收到 SSL 错误感到有些困惑。不知道从这里去哪里。

最佳答案

I am a bit confused on how I am getting a SSL error even though I have ssl set to False.

ssl=False仅忽略证书验证错误。但是 TLSV1_ALERT_INTERNAL_ERROR 与证书验证无关,所以这个选项在这里没有帮助。除了那个设置ssl=False这是一个非常糟糕的主意,因为它显着降低了 HTTPS 提供的安全性——它不再能防止中间人攻击。
可能发生 TLSV1_ALERT_INTERNAL_ERROR 的原因有多种,例如没有通用密码或协议(protocol)版本、需要客户端证书、服务器重载等。在互联网上连接任意服务器时,预计有时会发生此类错误。捕获错误并暂时忽略此服务器通常是正确的选择。
如果错误发生在真正想连接的服务器上,则必须分析此特定服务器问题的原因,然后尝试解决此特定原因,即没有通用解决方案。

关于python - SSL 错误 TLSV1_ALERT_INTERNAL_ERROR 与 aiohttp 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70267346/

相关文章:

python - 创建列以跟踪另一列中的缺失值

ssl - 在我的本地浏览器中仅针对多个域忽略一次通配符自签名证书警告

ruby-on-rails - 为生产添加 SSL 后无法在本地运行 Rails 应用程序

c - 数字信封例程:EVP_DecryptFinal_ex:wrong final block length:evp_enc in C program

python - 如何使用修改后的 OpenSSL(具有俄罗斯 GOST 支持)编译 python?

python - tornado.database 导入错误 : No module named database

python - 如何在区 block 链上存储交易日志?

python - 在 matplotlib 中绘制彩色立方体

redirect - nginx 重定向规则将所有内容重定向到 https,即使对于其他端口也是如此

ssl - Liberty 配置文件和 Apache HttpClient 4.2.1