Получение ошибки «Удаленный сервер возвратил ошибку: (403) Запрещено» при очистке экрана с помощью HttpWebRequest.GetResponse () - PullRequest
9 голосов
/ 13 января 2011

У нас есть инструмент, который проверяет, является ли данный URL действующим URL.Если данный URL-адрес активен, другая часть нашего программного обеспечения может просмотреть его содержимое.

Это мой код для проверки, является ли URL активным

    public static bool IsLiveUrl(string url)
    {
        HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
        webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5";
        webRequest.CookieContainer = new CookieContainer();
        WebResponse webResponse;
        try
        {
            webResponse = webRequest.GetResponse();
        }
        catch (WebException e)
        {
            return false;
        }
        catch (Exception ex)
        {

            return false;
        }
        return true;
    }

Этот код работает отлично, нодля конкретного сайта, размещенного на Apache, я получаю веб-исключение со следующим сообщением.«Удаленный сервер возвратил ошибку: (403) Запрещено». При дальнейшей проверке я обнаружил следующие данные в объекте WebException

Status = «ProtocolError» StatusDescription = «Плохое поведение»

Этозаголовок запроса «Пользователь-агент: Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.8.0.6) Gecko / 20060728 Firefox / 1.5 Хост: scenicspares.co.uk Соединение: Keep-Alive»

Это заголовок ответа "Keep-Alive: timeout = 4, max = 512 Соединение: Keep-Alive Transfer-Encoding: chunked Тип контента: text / html Дата: чт, 13 января 2011 10:29:36 GMT Сервер: Apache "

Я извлек эти заголовки, используя часы в vs2008.Фрейм работы в использовании составляет 3,5.

Ответы [ 2 ]

14 голосов
/ 13 января 2011

Оказалось, что все, что мне нужно было сделать, это следовать

            webRequest.Accept = "*/*";
            webResponse = webRequest.GetResponse();

и это было исправлено.

0 голосов
/ 11 января 2015

Я полагаю, что существует множество подобных проблем, которые зависят от серверного приложения. В моем конкретном случае см .: Удаленный сервер возвратил ошибку: (403) Запрещено

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