解决安全频道支持出错,代码:80072F7D问题
今天在虚拟机win7下测试软件时,发现用vbs下载codechina仓库文件时出现错误,提示:脚本:C:\Users\Administrator\Desktop\SoftCnKiller2.51\data\CodeChina更新名单.vbs行:21字符:2错误:安全频道支持出错代码:80072F7D源:WinHttp.WinHttpRequest对应vbs代码:Sub downFile(url,p
今天在虚拟机win7下测试软件时,发现用vbs下载codechina仓库文件时出现错误,提示:
脚本: C:\Users\Administrator\Desktop\SoftCnKiller2.51\data\CodeChina更新名单.vbs
行: 21
字符: 2
错误: 安全频道支持出错
代码: 80072F7D
源: WinHttp.WinHttpRequest
对应vbs代码:
Sub downFile(url,path)
Set xHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
Set bStrm = CreateObject("Adodb.Stream")
xHttp.Open "GET", url, False
xHttp.Send
with bStrm
.type = 1 '
.open
.write xHttp.responseBody
.savetofile currentfolder+path, 2 '//覆盖
end with
End Sub
出错的是xHttp.Send那行。
- 这部分代码在之前能正常自行
- 现在win10下也能正常执行
- 改成从gitee仓库下载也是正常。
那问题只可能出现在codechina网站上,考虑到前段时间2021年7月26日codechina出现502错误,可能是网站方面升级了。再根据网上搜索了下错误内容,猜测可能与TLS协议有关。
运行inetcpl.cpl,高级选项卡,发现勾选了TLS1.0-1.2,IE浏览器能正常访问codechina和gitee链接。取消勾选TLS1.2后不能访问codechina但能访问gitee。
那问题应该比较明朗了,应该是网站更新后codechina只支持TLS1.2协议,不支持别的,然后VBS调用的WinHttp不支持TLS1.2。
根据这个信息网上搜索,很快可以找到微软官方的解决方案:
更新了 以在 Windows 中的 WinHTTP 中启用 TLS 1.1 和 TLS 1.2 作为默认安全协议
网页里下载简易修复工具运行后VBS可以正常从codechina下载文件。
如果链接失效可以下载:
地址1:https://download.csdn.net/download/hfhbutn/20618270
地址2:https://free.lanzoui.com/i1NP2rz8r1i
更多推荐
所有评论(0)