导航

聚合

«2008年11月»
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

Blog统计

新闻/公告

存档

随笔分类

文章分类

相册

检测远程URL是否存在的三种方法

来源:http://blog.csdn.net/net_lover/archive/2005/11/30/540417.aspx


本文用3种方法检测远程URL是否存在。

private void Page_Load(object sender, System.EventArgs e)
{

 string url1 = "http://dotnet.aspx.cc/";
 string url2 = "http://dotnet.aspx.cc/Images/logo.gif";
 Response.Write("<li>方法1:");
 Response.Write(url1 + " 存在:" + UrlExistsUsingHttpWebRequest(url1).ToString());
 Response.Write("<li>方法2:");
 Response.Write(url1 + " 存在:" + UrlExistsUsingSockets(url1).ToString());   
 Response.Write("<li>方法3:");
 Response.Write(url1 + " 存在:" + UrlExistsUsingXmlHttp(url1).ToString());

 Response.Write("<li>方法1:");
 Response.Write(url2 + " 存在:" + UrlExistsUsingHttpWebRequest(url2).ToString());
 Response.Write("<li>方法3:");
 Response.Write(url2 + " 存在:" + UrlExistsUsingXmlHttp(url2).ToString());
}
private bool UrlExistsUsingHttpWebRequest(string url)
{
 try
 {
  System.Net.HttpWebRequest myRequest =(System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  myRequest.Method = "HEAD";
  myRequest.Timeout = 100;
  System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)myRequest.GetResponse();
  return (res.StatusCode == System.Net.HttpStatusCode.OK);
 }
 catch(System.Net.WebException we)
 {
  System.Diagnostics.Trace.Write(we.Message);
  return false;
 }
}
private bool UrlExistsUsingXmlHttp(string url)
{
 //注意:此方法需要引用Msxml2.dll
 MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTPClass();
 _xmlhttp.open("HEAD",url,false,null,null);
 _xmlhttp.send("");
 return (_xmlhttp.status == 200 );
}

private bool UrlExistsUsingSockets(string url)
{
 if(url.StartsWith("http://")) url = url.Remove(0,"http://".Length);
 try
 {
  System.Net.IPHostEntry ipHost = System.Net.Dns.Resolve(url);
  return true;
 }
 catch (System.Net.Sockets.SocketException se)
 {
  System.Diagnostics.Trace.Write(se.Message);
  return false;
 }
}

打印 | 发表于 2006年10月15日 2:19

评论

# Maria

http://6a1f218000534dd5980ff0dac5ba01c7-t.koxtht.org 6a1f218000534dd5980ff0dac5ba01c7 [url]http://6a1f218000534dd5980ff0dac5ba01c7-b1.koxtht.org[/url] [url=http://6a1f218000534dd5980ff0dac5ba01c7-b2.koxtht.org]6a1f218000534dd5980ff0dac5ba01c7[/url] [u]http://6a1f218000534dd5980ff0dac5ba01c7-b3.koxtht.org[/u] 7f10de3dca38486e7c20687a3b009b02
2007/6/24 14:20 | Isaac

# Dereck

89e57f983b9a38aaa31a2536e78e11b1 Independent newsletter from our foreign friends points our attention to your web project. We are very proud to communicate and colaborate with such partner. Don't be surprised of being noticed. 242a24eaaf2d8b6d338dfc62711422de
2007/6/30 15:38 | Reuben

# Xander

bc2d78172ec59745f7b9d3ef2bece39a Independent newsletter from our foreign friends points our attention to your web project. We are very proud to communicate and colaborate with such partner. Don't be surprised of being noticed. 246f5573f09449eb624440463d221fca
2007/7/1 18:01 | Austen

# Savion

http://0372a3703e8c30d6436b6923c5718a5c-t.msqgvg.org 0372a3703e8c30d6436b6923c5718a5c [url]http://0372a3703e8c30d6436b6923c5718a5c-b1.msqgvg.org[/url] [url=http://0372a3703e8c30d6436b6923c5718a5c-b2.msqgvg.org]0372a3703e8c30d6436b6923c5718a5c[/url] [u]http://0372a3703e8c30d6436b6923c5718a5c-b3.msqgvg.org[/u] 56833615449d2f4ffa6890aa846f09ff
2007/7/15 0:13 | Manuel

# Triston

http://12e04b50c98fbedc8aa893fe96906535-t.xkktxb.org 12e04b50c98fbedc8aa893fe96906535 [url]http://12e04b50c98fbedc8aa893fe96906535-b1.xkktxb.org[/url] [url=http://12e04b50c98fbedc8aa893fe96906535-b2.xkktxb.org]12e04b50c98fbedc8aa893fe96906535[/url] [u]http://12e04b50c98fbedc8aa893fe96906535-b3.xkktxb.org[/u] 8d1f2bfe3cbc5359328d95464cab8b7c
2007/7/18 8:59 | Byron

# Morris

http://692432ab77165a36584ad43e8df64be9-t.rfmsjv.org 692432ab77165a36584ad43e8df64be9 [url]http://692432ab77165a36584ad43e8df64be9-b1.rfmsjv.org[/url] [url=http://692432ab77165a36584ad43e8df64be9-b2.rfmsjv.org]692432ab77165a36584ad43e8df64be9[/url] [u]http://692432ab77165a36584ad43e8df64be9-b3.rfmsjv.org[/u] 51db5f58e300383915b4ea83c7fc983b
2007/8/26 18:21 | Allen

# Norberto

b2c28f20816507f9e4834b17bcba7c98
http://638.ezgckg.com/9d77fa508d1c7eb4b74e2a8a87d0061e
http://638.ezgckg.com/9d77fa508d1c7eb4b74e2a8a87d0061e
3b8cb442696770cabf0fbc70dba055d5
2008/5/24 3:28 | Rasheed

# Douglas

c0b7b143399643ea9858d36a50b812f1
http://1019.ezgckg.com/aac4cb057a3e5624d7d3592a281b9b88
http://1019.ezgckg.com/aac4cb057a3e5624d7d3592a281b9b88
3b8cb442696770cabf0fbc70dba055d5
2008/5/24 7:31 | Greyson

发表评论

标题  
姓名  
Email
主页
评论内容