asp.net下檢測(cè)遠(yuǎn)程URL是否存在的三種方法
更新時(shí)間:2009年12月13日 02:33:58 作者:
檢測(cè)遠(yuǎn)程URL是否存在的三種方法,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, System.EventArgs e)
{
string url1 = "http://s.jb51.net/";
string url2 = "http://www.dbjr.com.cn/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;
}
}
您可能感興趣的文章:
- asp.net下通過(guò)泛解析和偽靜態(tài)實(shí)現(xiàn)二級(jí)域名的實(shí)現(xiàn)方法
- asp.net獲取當(dāng)前網(wǎng)址url的各種屬性(文件名、參數(shù)、域名 等)的代碼
- asp.net用url重寫(xiě)URLReWriter實(shí)現(xiàn)任意二級(jí)域名 高級(jí)篇
- asp.net用url重寫(xiě)URLReWriter實(shí)現(xiàn)任意二級(jí)域名 新
- asp.net 通過(guò)指定IP地址得到當(dāng)前的網(wǎng)絡(luò)上的主機(jī)的域名
- asp.net用url重寫(xiě)URLReWriter實(shí)現(xiàn)任意二級(jí)域名
- asp.net下用url重寫(xiě)URLReWriter實(shí)現(xiàn)任意二級(jí)域名的方法
- 在ASP.NET里得到網(wǎng)站的域名
- asp.net實(shí)現(xiàn)中英文多域名檢測(cè)的方法
相關(guān)文章
ASP.NET性能優(yōu)化之讓瀏覽器緩存動(dòng)態(tài)網(wǎng)頁(yè)的方法
上一篇《ASP.NET性能優(yōu)化之構(gòu)建自定義文件緩存》我們通過(guò)OutputCache,讓請(qǐng)求去訪問(wèn)服務(wù)器asp.net的輸出緩存,我們擴(kuò)展了OutputCacheProvider,這相當(dāng)于是訪問(wèn)服務(wù)器上的靜態(tài)資源。2011-09-09先裝了FRAMEWORK,后裝IIS導(dǎo)致asp.net頁(yè)面無(wú)法訪問(wèn)的解決方法
如果先裝了FRAMEWORK,后裝IIS。有可能沒(méi)有在IIS中注冊(cè),就會(huì)導(dǎo)致在頁(yè)面中無(wú)法訪問(wèn)的情況2012-01-01ASP.NET中母版頁(yè)和shtml實(shí)例入門
這篇文章主要介紹了ASP.NET中母版頁(yè)和shtml,較為簡(jiǎn)單的分析了asp.net的母版頁(yè)和shtml相關(guān)用法,需要的朋友可以參考下2015-06-06四個(gè)常用的.NET的SQLHELPER方法實(shí)例
這篇文章主要介紹了四個(gè)常用的.NET的SQLHELPER方法,在WinForm的實(shí)際開(kāi)發(fā)中比較常用,需要的朋友可以參考下2014-08-08如何為asp.net網(wǎng)站項(xiàng)目添加子項(xiàng)目
最近要給公司的電子商務(wù)網(wǎng)站添加個(gè)圈子的功能.網(wǎng)站功能本來(lái)就包含有新聞發(fā)布,會(huì)員管理,商品購(gòu)物,后臺(tái)管理等,現(xiàn)在又要再加上圈子的功能,網(wǎng)站項(xiàng)目越來(lái)越復(fù)雜,每次編譯生成的dll超過(guò)100k.這樣每次修改任何一個(gè)功能中的任何一個(gè)小問(wèn)題都要上傳整個(gè)dll,并導(dǎo)致整個(gè)website的首次訪問(wèn)的重新編譯.2008-10-10NET Core TagHelper實(shí)現(xiàn)分頁(yè)標(biāo)簽
這篇文章主要介紹了NET Core TagHelper實(shí)現(xiàn)分頁(yè)標(biāo)簽,講述實(shí)現(xiàn)一個(gè)簡(jiǎn)單分頁(yè)和總要注意步奏,感興趣的小伙伴們可以參考一下2016-07-07Asp.net中安全退出時(shí)清空Session或Cookie的實(shí)例代碼
網(wǎng)站中點(diǎn)擊退出,如果僅僅是重定向到登錄/出頁(yè)面,此時(shí)在瀏覽器地址欄中輸入登錄后的某個(gè)頁(yè)面地址如主頁(yè),你會(huì)發(fā)現(xiàn)不用登錄就能訪問(wèn),這種退出并不安全了,下面通過(guò)本文給大家介紹安全退出時(shí)清空Session或Cookie的實(shí)例代碼2016-11-11