WebRequest и System.Net.WebException на 404, медленно? - PullRequest
1 голос
/ 16 апреля 2009

Я использую веб-запрос, чтобы проверить, существует ли веб-страница или мультимедиа (изображение). На GetResponse я получаю исключение System.Net.WebException. Я перебрал 100 ссылок, и кажется, что он идет медленнее, чем должен. Есть ли способ не получить это исключение или обработать его более изящно?

    static public bool CheckExist(string url)
    {
        HttpWebRequest wreq = null;
        HttpWebResponse wresp = null;
        bool ret = false;
        try
        {
            wreq = (HttpWebRequest)WebRequest.Create(url);
            wreq.KeepAlive = true;
            wresp = (HttpWebResponse)wreq.GetResponse();
            ret = true;
        }
        catch (System.Net.WebException)
        {
        }
        finally
        {
            if (wresp != null)
                wresp.Close();
        }
        return ret;
    }

1 Ответ

2 голосов
/ 16 апреля 2009

Попробуйте установить

wreq.Method = "Head";

после строки "KeepAlive". Если веб-сервер, к которому вы обращаетесь, достаточно умен, это скажет ему не возвращать никакого основного содержимого, которое должно сэкономить время.

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