C# - l'Obtention de la réponse de l'organisme à partir d'une erreur 403

Je reçois une erreur 403 lorsque la demande de données à partir d'une URL. C'est prévu et je ne demande pas comment le corriger.
Lorsque vous collez cette URL directement dans mon navigateur, j'obtiens une chaîne de base de l'information décrivant la raison pour laquelle l'autorisation est refusée.
J'ai besoin de lire cette message d'erreur par l'intermédiaire de mon code C#, cependant, lorsque la demande en est faite, à un Système.Net.WebException ("Le serveur distant a retourné une erreur: (403) Interdite".) l'erreur est levée, et le corps de la réponse n'est pas disponible pour moi.

Est-il possible de simplement de récupérer le contenu de la page sans l'exception levée?
Le code est à peu près ce que vous attendez, mais il est ici de toute façon.

   HttpWebRequest  request  = (HttpWebRequest)WebRequest.Create(sPageURL);

   try
   {
        //The exception is throw at the line below.
        HttpWebResponse response = (HttpWebResponse)(request.GetResponse());

        //Snipped processing of the response.
   }
   catch(Exception ex)
   {
        //Snipped logging.
   }

Toute aide serait appréciée. Merci.

Vous devez envelopper votre response dans un using déclaration.
Je n'ai jamais compris le point de using. Il déclare un objet uniquement à l'intérieur de son champ d'application, à droite? Ma méthode & blocs try/catch le faire de toute façon mais, n'est-ce pas?
using assure l'objet va être éliminés immédiatement au lieu d'attendre pour le GC (il génère un finally bloc).
A noté. Merci pour l'astuce.

OriginalL'auteur Ryan McDermott | 2011-03-23