首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServerXMLHTTP连接问题

ServerXMLHTTP连接问题
EN

Stack Overflow用户
提问于 2013-02-27 20:24:31
回答 2查看 2.2K关注 0票数 0

我正在尝试用经典的ASP建立一个网页来检查一系列URL的状态。

我的代码如下:

代码语言:javascript
复制
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 Function

URL都是包含非标准端口号的HTTPS (例如https://somedomain.com:4433/restofurl)

当我在web浏览器中运行urls时,它们加载得很好,但当我将它们放入上面的函数中时,我得到:

代码语言:javascript
复制
A connection with the server could not be established

我已经使用以下备选方案检查了我的函数: 1)非安全URL -这很好用2)没有指定端口的安全URL -这很好用3)指定端口443的安全URL -这很好用4)在目标服务器上指定端口443的安全URL -这很好用

在此基础上,我尽可能地确信我的代码是正确的。有没有人对进一步的故障排除有什么建议?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-09 19:13:56

这个问题被证明与我们的服务器太旧(仍在运行Win2003)有关,并且他们的设置比端口号建议的更不标准!

最后的解决方案是将代码托管在一些单独的宿主上(在运行更新版本的Windows的服务器上)。不是很理想,但至少我们已经让它工作了。(我们未来也会升级服务器--希望这将是最终的解决方案。)

票数 1
EN

Stack Overflow用户

发布于 2013-02-28 23:03:47

这可能意味着运行您的代码的服务器与您要向其发送请求的服务器没有相同的证书。而你正在使用的浏览器确实有它们。

您可以通过添加以下代码(在发送请求之前,当然)并尝试一些值,使您的服务器忽略特定的证书问题来检查此问题:

代码语言:javascript
复制
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_INVALID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15112088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档