Search code examples
c#httpwebrequest

Check if a.txt file exists or not on a remote webserver


I'm trying to check if .txt file is exists or not from web url. This is my code:

static public bool URLExists(string url)
{
    bool result = false;

    WebRequest webRequest = WebRequest.Create(url);
    webRequest.Timeout = 1200; // miliseconds
    webRequest.Method = "HEAD";

    HttpWebResponse response = null;

    try
    {
        response = (HttpWebResponse)webRequest.GetResponse();
        result = true;
    }
    catch (WebException webException)
    {
        //(url + " doesn't exist: " + webException.Message);
    }
    finally
    {
        if (response != null)
        {
            response.Close();
        }
    }

    return result;
}

If i enter "http://www.example.com/demo.txt" is not a valid file path and website showing 404 error page then this code return true. How to solve this problem. Thanks in advance.


Solution

  • Use the StatusCode property of the HttpWebResponse object.

    response = (HttpWebResponse)webRequest.GetResponse();
    
    if(response.StatusCode == HttpStatusCode.NotFound)
    {
      result = false;
    }
    else
    {
      result = true;
    }
    

    Look through the list of possible status codes to see which ones you want to interpret as the file not existing.