获取位于同一服务器上的 asp 页面的输出的正确方法是什么?
<%
GetUrl "/route/to/abc/123/"
Function GetUrl(url)
Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.3.0")
objXMLHTTP.open "GET", URL, false
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Response.Write objXMLHTTP.ResponseText
End if
Set objXMLHTTP = Nothing
End Function
%>
导致这个讨厌的错误。
msxml3.dll error '80004005'
Unspecified error
/test.asp, line 7
切换到更新的 serverxmlhttp
set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
揭示了一个不同的、更有意义的错误:
msxml6.dll error '80072ee6'
System error: -2147012890.
/test.asp, line 8
谷歌高兴地找到了一个理由,上面写着“不要使用 serverXmlHttp 连接到同一台服务器。(https://support.microsoft.com/en-us/kb/316451)你用什么?文章没有提供的不多。
无论如何很酷,我的错误是有正当理由的。但是你用什么来连接到同一个服务器,在经典的 asp 下,来捕获页面的输出?这篇文章(https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/aa23d158-000a-4ba2-8fe8-99895854d7f0.mspx?mfr=true)提到如果我在做隔离模式,那么进程与Web服务器进程分开运行,我不能使用SSI,我不知道如何首先启用它。反正听起来很恶心。SSI 在我的应用程序中很关键,所以我不能考虑。
我还剩下什么(除了显而易见的:抛弃 ASP)?生成一个 wscript.shell 命令提示符并将其从那里拉出来,回显到标准输出?从另一个反射器服务器反弹?格子