C# · 12月 26, 2021

c# – 如何通过网址检查网络服务器上是否存在文件?

在我们的应用程序中,我们有一些在线帮助.它的工作原理非常简单:如果用户点击帮助按钮,则会根据当前的语言和帮助上下文(例如“ http://example.com/help/”[LANG_ID]“[HELP_CONTEXT])构建一个URL,并在浏览器中调用.

所以我的问题是:如何检查文件是否存在于Web服务器上,而不加载完整的文件内容?

谢谢你的帮助!

更新:感谢您的帮助.我的问题已经回答.
现在我们有代理身份验证问题,无法发送HTTP请求;)

解决方法 您可以使用.NET来执行HEAD请求,然后查看响应的状态.

你的代码看起来像这样(从The Lowly HTTP HEAD Request改编):

// create the requestHttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;// instruct the server to return headers onlyrequest.Method = “HEAD”;// make the connectionHttpWebResponse response = request.GetResponse() as HttpWebResponse;// get the status codeHttpStatusCode status = response.StatusCode;

以下是列出可由StatusCode枚举器返回的status codes的列表.