天天看点

c# 判断远程文件是否存在

c# 判断远程文件是否存在
c# 判断远程文件是否存在

代码

//1:

public static bool IsExist(string uri)

        {

            HttpWebRequest req = null;

            HttpWebResponse res = null;

            try

            {

                req = (HttpWebRequest)WebRequest.Create(uri);

                req.Method = "HEAD";

                req.Timeout = 100;

                res = (HttpWebResponse)req.GetResponse();

                return (res.StatusCode == HttpStatusCode.OK);

            }

            catch

                return false;

            finally

                if (res != null)

                {

                    res.Close();

                    res = null;

                }

                if (req != null) 

                    req.Abort();

                    req = null;

        } 

//2:

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

}

//3:

private bool UrlExistsUsingSockets(string url)

  if (url.StartsWith("http://")) url = url.Remove(0, "http://".Length);

  try

  {

    System.Net.IPHostEntry ipHost =System.Net.Dns.GetHostEntry(url);// System.Net.Dns.Resolve(url);

    return true;

  }

  catch (System.Net.Sockets.SocketException se)

    System.Diagnostics.Trace.Write(se.Message);

    return false;