Проверьте, существует ли файл .txt или нет на удаленном веб-сервере - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь проверить, существует ли файл .txt из веб-адреса. Это мой код:

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

Если я ввожу "http://www.example.com/demo.txt" - это неверный путь к файлу, а на веб-сайте отображается страница с ошибкой 404, этот код возвращает true. Как решить эту проблему. Заранее спасибо.

1 Ответ

0 голосов
/ 02 мая 2018

Используйте свойство StatusCode объекта HttpWebResponse.

response = (HttpWebResponse)webRequest.GetResponse();

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

Просмотрите список возможных кодов состояния , чтобы увидеть, какие из них вы хотите интерпретировать, поскольку файл не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...