我正在尝试使用以下代码下载网页:
dim xmlhttp : set xmlhttp = createobject("MSXML2.ServerXMLHTTP")
dim fso : set fso = createobject ("scripting.filesystemobject")
dim newfile : set newfile = fso.createtextfile("getVersion.htm", true)
xmlhttp.SetOption SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, true
xmlhttp.open "GET", "https://mysite:8443/remote/epo.GetVersion", "username", "password"
xmlhttp.send
newfile.write (xmlhttp.responseText)
newfile.close
但是,它失败了“mxm13.dll:参数不正确”。在第6行。我做错了什么?
答案 0 :(得分:2)
open
的3 rd 参数应该是一个布尔值,指定请求是否应该是异步的。
oServerXMLHTTPRequest.open bstrMethod, bstrUrl, bAsync, bstrUser, bstrPassword
bstrMethod 用于打开连接的HTTP方法,例如PUT或 PROPFIND。对于ServerXMLHTTP,此参数区分大小写 方法名称必须以全部大写字母输入。 bstrUrl 请求的URL。这可以是绝对URL,例如 “http://example.com/Mypath/Myfile.asp”或相对网址,例如 “../ MyPath / MyFile.asp”。 bAsync (可选) 布尔值。指标 该调用是否是异步的。默认值为False(调用确实如此) 不立即返回。) bstrUser (可选) 用户名 身份验证。 bstrPassword (可选) 密码 认证。如果用户参数是,则忽略此参数 空或缺少。
通过another question的一些实验和帮助,我认为你只需要改变
xmlhttp.SetOption SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, true
到
xmlhttp.SetOption 2, xmlhttp.GetOption(2) - SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS
答案 1 :(得分:0)
如果您使用的是Windows 8,Windows 8.1或Windows Server 2012 / 2012R2,则可能必须应用以下HotFix,它在类似的情况下为我解决了此问题:
有关详细信息,您还可以在我的博客上read this post或查看this other SO thread。