zoukankan      html  css  js  c++  java
  • 用3种方法检测远程URL是否存在。

    摘自:http://space.itpub.net/12639172/viewspace-671823,在此表示感谢。

    用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("

    • 方法1:"); Response.Write(url1 + " 存在:" + UrlExistsUsingHttpWebRequest(url1).ToString()); Response.Write("
    • 方法2:"); Response.Write(url1 + " 存在:" + UrlExistsUsingSockets(url1).ToString()); Response.Write("
    • 方法3:"); Response.Write(url1 + " 存在:" + UrlExistsUsingXmlHttp(url1).ToString()); Response.Write("
    • 方法1:"); Response.Write(url2 + " 存在:" + UrlExistsUsingHttpWebRequest(url2).ToString()); Response.Write("
    • 方法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; } }
  • 相关阅读:
    learning scala view collection
    scala
    learning scala dependency injection
    learning scala implicit class
    learning scala type alise
    learning scala PartialFunction
    learning scala Function Recursive Tail Call
    learning scala Function Composition andThen
    System.Threading.Interlocked.CompareChange使用
    System.Threading.Monitor的使用
  • 原文地址:https://www.cnblogs.com/gaolijun1986/p/2491678.html
Copyright © 2011-2022 走看看