如何验证URL位置是否存在?

时间:2011-09-22 14:53:34

标签: c# url .net-4.0

我们在服务器上托管SSIS报告,我们将其路径存储在sql server表中。从.Net,我希望能够确保输入的路径是正确的。

这应该返回“true”,因为那里有一个报告,例如:

  http://server/Reports/Pages/Viewer.aspx?%2fShopFloor%2fProduction+by+Turn&rs:Command=Render

这应该返回false。

http://I am an invalid location/I am laughing at you/now I'm UEEing

我正在查看WebRequests,但我不知道这是否是我应该采取的路线。

任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:3)

您可以尝试发出HEAD请求以验证资源是否存在。使用HEAD请求,您只需要HTTP代码(200 =成功,404 =未找到),而无需消耗资源或多余内存来下载整个资源。请查看HttpWebRequest课程以了解实际请求。

答案 1 :(得分:2)

对网址执行http HEAD请求,该网址应该只提取标头。这样您就不需要下载整个页面(如果存在)。从返回的标题中(如果有的话),您应该能够确定它是否是正确的URL。

答案 2 :(得分:0)

我不确定网络的确切布局,但如果.net应用程序可以查看存储报告的位置,则可以使用File.Exists()。否则,mellamokb和red-X有正确的想法。