惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Jina AI
Jina AI
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
I
InfoQ
L
LangChain Blog
The Cloudflare Blog
IT之家
IT之家
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
博客园 - 聂微东
美团技术团队
博客园_首页

博客园 - gz.net

gridview绑定问题 - gz.net - 博客园 好久没来了。共享一个自动生成编号的存储过程 jsp数据库大全 login Microsoft Windows SharePoint Services ASP.NET程序中常用代码汇总(一) - gz.net - 博客园 ASP.NET动态生成HTML页面 日语的初次认识 日语的初次认识 对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度? Eclipse快速上手指南 自己动手用c#写控件 代价 五种提高 SQL 性能的方法 js教程 HTML教程 HTML教程 存储过程编写经验三 存储过程经验二
检测远程URL是否存在的三种方法 ---转自孟子
gz.net · 2005-12-09 · via 博客园 - gz.net

Posted on 2005-12-09 11:12  gz.net  阅读(240)  评论()    收藏  举报

代码比较简单,这里不在多说。

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; } }