Winhttp 支持所有https(TLS1.1/TLS1.2)
本帖最后由 autoit3CN 于 2020-6-20 23:04 编辑参考症状:
https://www.autoitscript.com/forum/topic/202818-lightstreamer-communication-with-autoit-moved/?tab=comments#comment-1456091
WinHttp 在 Win7 下访问特定网址的Bug
目标需求:
支持所有https协议返回正常数据
测试代码:
#include <WinHttp_GetRespond.au3>
#include <Array.au3>
$rContext = _WinHTTP_GetRespond(-1, "https://appleid.apple.com/account", 2);也许返回有点慢,耐心点,如果直接报错就符合本文症状
_ArrayDisplay($rContext)
微软文档:
https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
解决方法:
微软win7操作系统下 kb3140245补丁包
Windows Registry Editor Version 5.00
"DefaultSecureProtocols"=dword:00000a00
"DefaultSecureProtocols"=dword:00000a00
"SecureProtocols"=dword:00000a80
"SecureProtocols"=dword:00000a80
"DisabledByDefault"=dword:0
"DisabledByDefault"=dword:0
拓展文章:
win7操作系统下kb3140245补丁包让wininet支持TSL
注意细节:
1.服务启动Windows Update 才可以正常安装更新包;
2.确认注册表有添加无对应项;
3.C:\Windows\System32\winhttp.dll 版本win7更新后是 6.1.7601.23375,请参照微软文档 File Information检查其他系统对应版本;
3.必须重启!重启!重启!
结语:
本人win7.服务器2012R2,花了几个小时查阅大量资料,存档与此方便后人吧。
我用XP,以前也是安装两个补丁解决。同样是伪装Protocols的套路~ 但有些可以,有些仍不支持。 TLS1.2 在 Win8.1 和 Win 10 默认支持,xp好多年没用了,自从用win7就没机会重装系统也就习惯了 谢谢分享,楼主辛苦!
页:
[1]