【发布时间】:2017-10-18 02:57:43
【问题描述】:
我在 VBA 中有一段代码可以完美运行很长时间。突然它无缘无故停止工作。我这边没有任何改变。
我用它来下载网页并将它们存储在这样的字符串中:
Function something() As String
URL = "www..."
Set XMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
XMLHTTP.Open "GET", URL, False
XMLHTTP.send
something = XMLHTTP.responseText
End Function
在 XMLHTTP.send 我收到以下错误: 运行时错误“-2147012739 (80072f7d)”:安全通道支持出现错误
这个错误是什么意思,怎么办?
我尝试阅读它,但它似乎是一个一般性错误,可能是很多事情。也许微软改变了一些协议或类似的东西?
【问题讨论】:
-
所以这是一个 HTTPS 网址?可能服务器已从 SSL3 更改为 TLS 或更新的 TLS 版本,请尝试:stackoverflow.com/questions/35089900/…
-
谢谢亚历克斯,是的,它是 HTTPS 网址,我关注了您的链接。它说在创建 winHttp 对象时添加 (XMLHTTP.option(9) = 128) 但遗憾的是它没有解决问题
-
将主机名插入ssllabs.com/ssltest 运行测试,协议部分列出了什么? (SSL/TLS 等)。您正在运行什么版本的 Windows?
-
协议:TLS 1.2,Windows 7 Professional SP1
-
所以你需要在操作系统级别启用 TLS1.2,试试这个配置工具:nartac.com/Products/IISCrypto/Download 如果不满意,那么这个support.microsoft.com/en-gb/help/3140245/…(你可能仍然需要调整 .option(9))
标签: vba