【发布时间】:2014-09-27 02:17:21
【问题描述】:
我的所有文件都有一个文件共享远程服务器。我想在显示它们之前检查它们是否存在。
这很好用,但是当文件不存在时会中断,因为在网站上我有一个自动 404 重定向,因此如果文件不存在,它总是返回状态码 200 或 TRUE 作为网页在它的脑海中确实存在,因为它重定向并呈现。
我该如何解决这个问题?
public bool verifyFile(string filePath)
{
bool result = true;
string Domain = "http://www.SiteName.com/";
try
{
WebRequest webRequest = WebRequest.Create(Domain + filePath);
webRequest.Timeout = 1200;
webRequest.Method = "HEAD";
webRequest.GetResponse();
}
catch
{
result = false;
}
return result;
}
【问题讨论】:
-
修复自动重定向?提供实际的 404 代码在许多其他情况下也很有用(例如 SEO 和调试)。
-
要通过您的代码示例解决您的直接问题,您可以检查响应标头,也许您期望某种 mime 类型,当您收到虚假的 404 响应时可能会有所不同。
-
@Matthew - 你成功了!!通过检查响应的 MimeType 或“ContentType”,如果它命中重定向,它将返回“text/html”。我已经在下面发布了我的修复。
标签: c# validation http-status-code-404 webrequest