asp.net下檢測(cè)遠(yuǎn)程URL是否存在的三種方法
private void Page_Load(object sender, System.EventArgs e)
{
string url1 = "http://s.jb51.net/";
string url2 = "http://www.dhdzp.com/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中一次性動(dòng)態(tài)綁定多個(gè)droplistdown
asp.net中一次性動(dòng)態(tài)綁定多個(gè)droplistdown的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-10-10
.Net下二進(jìn)制形式的文件(圖片)的存儲(chǔ)與讀取詳細(xì)解析
以下是對(duì).Net下二進(jìn)制形式的文件(圖片)的存儲(chǔ)與讀取進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-09-09
用C#中的params關(guān)鍵字實(shí)現(xiàn)方法形參個(gè)數(shù)可變
個(gè)人認(rèn)為,提供params關(guān)鍵字以實(shí)現(xiàn)方法形參個(gè)數(shù)可變是C#語(yǔ)法的一大優(yōu)點(diǎn)。在方法形參列表中,數(shù)組類型的參數(shù)前加params關(guān)鍵字,通??梢栽谡{(diào)用方法時(shí)代碼更加精練2012-01-01
asp.net下用Aspose.Words for .NET動(dòng)態(tài)生成word文檔中的數(shù)據(jù)表格的方法
導(dǎo)出word 文檔,要求這個(gè)文檔的格式不是固定的,用戶可以隨便的調(diào)整,導(dǎo)出內(nèi)容中的數(shù)據(jù)表格列是動(dòng)態(tài)的,例如要求導(dǎo)出姓名和性別,你就要導(dǎo)出這兩列的數(shù)據(jù),而且這個(gè)文檔不是導(dǎo)出來(lái)之后再調(diào)整而是導(dǎo)出來(lái)后已經(jīng)是調(diào)整過(guò)了的。2010-04-04
.NET+PostgreSQL實(shí)踐與避坑指南(推薦)
這篇文章主要介紹了.NET+PostgreSQL實(shí)踐與避坑指南,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
.Net Core內(nèi)存回收模式及性能測(cè)試對(duì)比分析
下面小編就為大家分享一篇.Net Core內(nèi)存回收模式及性能測(cè)試對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
利用.net控件實(shí)現(xiàn)下拉導(dǎo)航菜單制作的具體方法
這篇文章介紹了利用.net控件實(shí)現(xiàn)下拉導(dǎo)航菜單制作的具體方法,有需要的朋友可以參考一下,希望對(duì)你有所幫助2013-07-07
通過(guò).NET 6實(shí)現(xiàn)RefreshToken
當(dāng)獲取到的Token過(guò)期以后,我們必須要重新請(qǐng)求認(rèn)證接口以獲取新的Token,為了提升用戶體驗(yàn),我們一般會(huì)利用Refresh Token功能,本文將具體為大家介紹一下如何實(shí)現(xiàn)Refresh Token,感興趣的可以學(xué)習(xí)一下2022-01-01
Global.asax的Application_BeginRequest實(shí)現(xiàn)url重寫(xiě)無(wú)后綴的代碼
本文為大家詳細(xì)介紹下利用Global.asax的Application_BeginRequest 實(shí)現(xiàn)url重寫(xiě)其無(wú)后綴,具體核心代碼如下,有需求的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08

