希望这是发布此内容的正确的 Stack Exchange 网站...
我们已经设置了一个新的内部网 Web 服务器 (Windows 2003 - IIS 6)。我已将所有内容从旧服务器迁移过来,新 Web 服务器似乎运行良好,但 ServerXMLHTTP 除外。我使用的是 Classic ASP。
我知道这不是编码问题,因为它在旧服务器上运行良好。
我通过 URL 从本地内联网调用页面,并收到“msxml3.dll 错误‘80072ee2’操作超时”错误。
我是否需要检查服务器上的某些设置?
如果有帮助的话,下面是我正在使用的(并且已经使用多年)代码的简化版本:
<%
TheURL = "http://intranet.ourdomain.com/SomePage.asp"
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
xmlHTTP.open "GET", TheURL, false
xmlHTTP.send()
CurrentPage = xmlHTTP.ResponseText
CurrentStatus = xmlHTTP.Status
CurrentStatusText = xmlHTTP.StatusText
CurrentReadiness = xmlHTTP.readyState
If CurrentStatus = 200 AND CurrentReadiness = 4 Then
Response.Write "We got the page"
Else
Response.Write "Page Unavailable"
End If
Set xmlHTTP = Nothing
%>
脚本在 上失败xmlHTTP.send()
。所以我知道 dll 已安装,否则它将无法创建对象。
它表现得好像找不到自己一样。但是,如果我登录服务器并打开浏览器,我可以通过其 URL 调出该网站。我还做了一个proxycfg - u
。
我还比较了旧服务器和新服务器上的主机文件,没有发现任何差异。
答案1
https://stackoverflow.com/questions/5559722/msxml3-dll-error-80072ee2-in-asp-page
其中一个答案指向一个 Microsoft 页面,标题为“信息:不要将 ServerXMLHTTP 或 WinHTTP 请求发送到同一服务器”。 (我没有链接到那里,因为我希望您转到包含该答案的页面并对其进行投票。)