会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
玄新-术业有专攻
检测远程URL是否存在的三种方法
本文用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
;
}
}
//
Trackback:
http://tb.blog.csdn.net/TrackBack.aspx?PostId=540417
posted on
2006-12-19 10:23
玄新
阅读(
163
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
导航
博客园
首页
联系
管理