gpt4 book ai didi

ssl - 如何更改/调整 Python 3.10 请求的默认 SSL 设置 - sslv3 警报握手失败

转载 作者:行者123 更新时间:2023-12-04 22:38:57 26 4
gpt4 key购买 nike

问题:
Python 3.10 increased the default security settings of the TLS stack .惊人的。我有一个遗留应用程序运行这些设置不喜欢的东西。我不知 Prop 体是什么。如何调整这些设置以让我的请求通过?
故事:
我正在编写一个小脚本来从本地运行的 Jazz RTC 实例中提取一些信息。它显然有一个……有问题的 ssl 证书。没有什么是“verify=False”不应该解决的。好吧,事实并非如此。
当我在 python 3.10 中运行以下代码时...

if __name__ == '__main__':

headers = {'Content-Type': 'application/x-www-form-urlencoded'}

data = {
'j_username': username,
'j_password': password
}

result = requests.post(url, data=data, headers=headers, verify=False).json

print(result)
...我收到此握手错误。
requests.exceptions.SSLError: HTTPSConnectionPool(host='...', port=...): Max retries exceeded with url: /ccm/authenticated/j_security_check (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:997)'))
但是,它在 Python 3.9 上没有问题。环顾四周寻找答案,我发现 python 3.10 中添加了更高的安全默认值, like this question ...但没有关于如何调整它们以使其符合我的要求。
详细:
This is what the browser developer tools report
  • 像往常一样,这是一个非常有限的企业环境。我做不到
    很多。没有管理员权限。
  • 负责那个主机的部门,果然,说不能修,给了一些肤浅的借口。
  • “如果它适用于 3.9,为什么不使用它?” - 嗯,有几个原因。主要版本是 3.10 是接受在公司环境中使用的版本。如果他们甚至发现我潜入 conda 3.9 venv 来测试东西,我会得到一个刻薄的演讲。

  • 任何帮助表示赞赏! o/

    最佳答案

    @PatrickMevzek 的评论让我想到了其他问题和 this question .
    这向我展示了如何更改使用的密码和安全级别。 @bgoeman 的以下片段适用于我的环境:

    import urllib3
    requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL:@SECLEVEL=1'
    显然,一般来说不应该使用这个。这将允许中间人攻击和其他令人讨厌的事情。更改这些设置时要小心谨慎。

    关于ssl - 如何更改/调整 Python 3.10 请求的默认 SSL 设置 - sslv3 警报握手失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72479812/

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