我正在尝试用经典的ASP建立一个网页来检查一系列URL的状态。
我的代码如下:
Function TestSite(sURL)
UserAgent = "Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1)"
Set poster = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
poster.open "GET", sURL, false
poster.setRequestHeader "User-Agent",UserAgent
poster.send
If poster.status = 200 Then
TestSite = poster.responseText
Else
' ## ERROR ## '
TestSite = ""
End If
Set poster = Nothing
End FunctionURL都是包含非标准端口号的HTTPS (例如https://somedomain.com:4433/restofurl)
当我在web浏览器中运行urls时,它们加载得很好,但当我将它们放入上面的函数中时,我得到:
A connection with the server could not be established我已经使用以下备选方案检查了我的函数: 1)非安全URL -这很好用2)没有指定端口的安全URL -这很好用3)指定端口443的安全URL -这很好用4)在目标服务器上指定端口443的安全URL -这很好用
在此基础上,我尽可能地确信我的代码是正确的。有没有人对进一步的故障排除有什么建议?
发布于 2013-04-09 19:13:56
这个问题被证明与我们的服务器太旧(仍在运行Win2003)有关,并且他们的设置比端口号建议的更不标准!
最后的解决方案是将代码托管在一些单独的宿主上(在运行更新版本的Windows的服务器上)。不是很理想,但至少我们已经让它工作了。(我们未来也会升级服务器--希望这将是最终的解决方案。)
发布于 2013-02-28 23:03:47
这可能意味着运行您的代码的服务器与您要向其发送请求的服务器没有相同的证书。而你正在使用的浏览器确实有它们。
您可以通过添加以下代码(在发送请求之前,当然)并尝试一些值,使您的服务器忽略特定的证书问题来检查此问题:
Const SXH_SERVER_CERT_IGNORE_UNKNOWN_CA = 256
Const SXH_SERVER_CERT_IGNORE_WRONG_USAGE = 512
Const SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID = 4096
Const SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID = 8192
Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056
poster.setOption 2, poster.getOption(2) - SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALIDhttps://stackoverflow.com/questions/15112088
复制相似问题