我正在从VB应用程序调用一个网页来执行验证,例如:
Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
...
objXMLHTTP.Open "GET", ls_address, False
objXMLHTTP.Send
objXMLHTTP.Status 的值在Windows7中为0,在Windows10中为200。 我有很多人昨天(2018-01-29)开始遇到这个问题,所以我认为Windows 7更新可能导致了这个问题?
此外,我的 ls_address 是 https:// ... 我在Windows7中遇到了问题,但当我将其更改为 http:// ...... 它再次起作用。两者都适用于Windows10。
任何人都有线索,Windows Defender,Microsoft Security Essentials等等。
答案 0 :(得分:0)
尝试添加以下代码:
objXMLHTTP.setRequestHeader "Origin", ls_address
另外:是否需要身份验证?
答案 1 :(得分:0)
问题不是我首先介绍的Windows 7更新,而是Web服务器上的安全更新,仅导致Windows 7客户端出现问题。
正如Lankymart所提到的,它与SSL / TLS协议或密码有关。我不确定是否可以在VBA中编写不同的代码以使其正常工作。我尝试使用Server.CreateObject(“ MSXML2.XMLHTTP.6.0”),但在我的vba环境中不起作用。
作为一个临时解决方案,Web服务器上的更新被撤消,一切恢复正常。
答案 2 :(得分:0)
Windows Server 2008 R2、2012 和 Windows 7 中的 TLS 1.2 版更新 https://support.site24x7.com/portal/en/kb/articles/to-update-to-tls-version-1-2