c#判断网络地址Url是否存在的方法

private bool UrlIsExist(String url)
{
  System.Uri u
= null;
  
try
  {
    u
= new Uri(url);
  }
  
catch { return false; }
  
bool isExist = false;
  System.Net.HttpWebRequest r
= System.Net.HttpWebRequest.Create(u) as System.Net.HttpWebRequest;
  r.Method
= "HEAD";
  
try
  {
    System.Net.HttpWebResponse s
= r.GetResponse() as System.Net.HttpWebResponse;
    
if (s.StatusCode == System.Net.HttpStatusCode.OK)
    {
      isExist
= true;
    }
  }
  
catch (System.Net.WebException x)
  {
    
try
    {
      isExist
= ((x.Response as System.Net.HttpWebResponse).StatusCode != System.Net.HttpStatusCode.NotFound);
    }
    
catch { isExist = (x.Status == System.Net.WebExceptionStatus.Success); }
  }
  
return isExist;
}
protected void Page_Load(object sender, EventArgs e)
{
  Response.Write(
"<li>http://dotnet.aspx.cc/Images/ 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/"));
  Response.Write(
"<li>http://dotnet.aspx.cc/ImagesX/ 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/ImagesX/"));
  Response.Write(
"<li>http://xxxxx/ 是否存在:" + UrlIsExist("http://xxxxx/"));
  Response.Write(
"<li>hxxxxxxxxxxxxxxxxxxx 是否存在:" + UrlIsExist("hxxxxxxxxxxxxxxxxxxx"));
  Response.Write(
"<li>http://dotnet.aspx.cc/Images/logoSite.gif 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/logoSite.gif"));
  Response.Write(
"<li>http://dotnet.aspx.cc/Images/logoSite2.gif 是否存在:" + UrlIsExist("http://dotnet.aspx.cc/Images/logoSite2.gif"));
}  

posted @ 2014-06-15 14:57  zzg168  阅读(996)  评论(0)    收藏  举报