经典 ASP RSS 阅读器无法在内部服务器上运行

Posted

技术标签:

【中文标题】经典 ASP RSS 阅读器无法在内部服务器上运行【英文标题】:Classic ASP RSS Reader not working on internal server 【发布时间】:2009-03-19 20:56:51 【问题描述】:

我有一个用 Classic ASP 编写的基于 Web 的 RSS 阅读器,我过去曾在公共项目中成功使用过它。但是,它不想在这个内部项目上合作。

相关代码:

set xmlDoc = createObject("Msxml.DOMDocument")
xmlDoc.async = false
xmlDoc.setProperty "ServerHTTPRequest", true
xmlDoc.load(extURL)

If (xmlDoc.parseError.errorCode <> 0) then
    Response.Write "XML error #" & xmlDoc.parseError.errorCode & ": " & xmlDoc.parseError.reason
Else
    'Not pertinent as it never gets here...
End If

我收到以下错误:

XML error #-2146697208: The download of the specified resource has failed.

它在其他地方工作得很好,只是不适用于这个特定的项目。它是一个内部项目,所以我无法链接到它。饲料格式正确,非常有趣。

不,我不能放弃它并使用编程语言 [在此处插入反 CLASP 咆哮]。如果这就是您要添加的全部内容,请不要发布。

它在 Server 2003 上运行,如果我需要查找任何配置信息等,我确实可以访问该服务器。

编辑 - 回答几个问题:

我暂时使用 extURL 作为同一服务器上的页面对此进行了测试。 我已将 URL 手动输入到 IE6 和 IE7(根据公司政策没有 Fx),它可以正常加载。 我已经通过家中的验证器运行生成的 RSS 提要,并且验证正常。 我保存了生成的 XML 文件并尝试加载它,但得到了同样的错误。 可能应该早点提到这一点,但由于我无法与另一台服务器进行测试,我正在另一个端口上运行测试站点 - http://subdomain.maindomain.com:5150/rss.asp 我发布的所有其他内容仍然适用。

最后一个随机想法:我确实打开了基本身份验证,因此我可以根据 NT Logon 等限制对站点某些部分的访问。这会是问题吗?我无法将其关闭,因为这会否定某些安全代码...

谢谢各位。 :)

再次编辑 - 原来是身份验证导致了问题。部分原因是食物链上游的某个人更改了一些组策略,部分原因是我自己对作为服务器管理员的新角色(除了作为开发人员)缺乏经验。

【问题讨论】:

【参考方案1】:

此时我会检查服务器。

    验证它发送的内容类型是 text/xml -- 您可以通过在 Firefox 中加载您的 extURL 变量值来做到这一点 尝试将文件下载到磁盘并重新编写代码以从磁盘读取文件。这行得通吗?

在您回答这些问题后更新:

我确实启用了基本身份验证 开所以我可以限制访问某些 基于 NT Logon 的部分网站, 等等。这会是问题吗?

嗯,是的!明确地。您的 ASP 脚本无法在正在运行的身份验证对话框中输入您的用户名和密码,因此它永远无法下载您的资源。

但是您还说您将 xml 放在本地文件中并修改了代码以加载它。如果你得到相同的错误,那么它绝对是 XML 的格式(一个坏字符,或者没有根元素,或者其他奇怪的东西)......但是你说 IE 可以打开它对吗?

一些截图怎么样?

【讨论】:

这是在更全局级别上完成的身份验证和一些更改。谢谢。 :)【参考方案2】:

您能否确保可以通过浏览器或 ping 从服务器访问外部 URL?错误表明下载失败,所以这是我要检查的第一件事。

【讨论】:

以上是关于经典 ASP RSS 阅读器无法在内部服务器上运行的主要内容,如果未能解决你的问题,请参考以下文章

在内部服务器上设置Shiny app

WiX“服务安装”究竟是如何在内部工作的?

[ASP.Net]用RssToolKit2.0解析RSS,制作RSS阅读器

Azure 功能无法访问托管在内部 windows 服务器中的 WCF 服务

在 IIS7.5 上运行经典 ASP 站点

无法为在 Elastic Beanstalk AWS 上运行 ASP.NET 的网站强制使用 HTTPS(使用经典负载均衡器)