Вопрос

Я делаю сообщение httpwebrequst, но в HttpWebResponse получаю код ошибки 403, запрещенный.Эта ошибка мне не очень полезна.

Затем я попробовал тестовую программу (у меня нет исходного кода для :() и использовал ее для создания того же сообщения, и она вернулась с запрещенным кодом 403, но также сказала мне, что необходим SSL.Итак, можно ли получить больше информации о «сервере» из неудачного httpwebrequest, а не просто код ошибки?

Спасибо


Просто чтобы прояснить ситуацию.Хорошо, что я получаю 403, мне просто интересно, почему тестовая программа может сказать, что SSL необходим SSL, когда я вижу что-то подобное в веб-исключении

Это было полезно?

Решение

Если WebException брошено из -за ошибки протокола, его свойство ответа будет содержать фактический ответ, полученный с веб -сервера.

try 
{
    // Do WebRequest
}
catch (WebException ex) 
{
    if (ex.Status == WebExceptionStatus.ProtocolError) 
    {
        HttpWebResponse response = ex.Response as HttpWebResponse;
        if (response != null)
        {
            // Process response
        }
    }
}

Другие советы

Нет явного способа запросить более подробную информацию, нет - в общем, вы получаете то, что получаете.

Тем не менее, веб-серверы часто возвращают документы вместе с кодами ошибок, которые иногда содержат полезную информацию, очень похожую на тот, который вы получили, объясняя проблему с сертификатом SSL.Для помощи в выявлении подобных проблем см. Скрипач - он покажет вам практически все, что нужно знать об ответах вашего сервера.

Что касается вашей конкретной ошибки, то трудно сказать;403 может указывать на несколько разных вещей.Но если вы получили ответ, указывающий на то, что что-то связано с SSL, возможно, вы просто имеете дело с плохим сертификатом или сертификатом с истекшим сроком действия (увидеть этот вопрос), или сервер может требовать безопасное соединение, но не получает его.Пробовали ли вы просто перейти по URL-адресу непосредственно в веб-браузере, просто чтобы посмотреть, появится ли у вас предупреждение о проблеме с сертификатом или что-то еще, кроме непосредственного ответа 403?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top