解决安全频道支持出错,代码:80072F7D问题

在Win7虚拟机中,使用VBScript下载CodeChina仓库文件时遇到安全频道支持错误。经排查,问题可能因CodeChina升级后仅支持TLS1.2,而VBS的WinHttp组件不默认启用该协议。通过运行微软提供的TLS更新工具,修复了VBS无法从CodeChina下载的问题。解决方案已验证在Win10和Win7环境下有效。
摘要由CSDN通过智能技术生成

今天在虚拟机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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四海一叶秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值