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

作者:袖梨 2022-07-02

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

相关文章

精彩推荐