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.
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
Vous devez vous connecter pour publier un commentaire.
Vous êtes à la recherche pour le
WebException.Response
propriété:Juste pour ajouter, après que vous avez la réponse, vous pouvez obtenir le flux comme d'habitude: la réponse.GetResponseStream()
OriginalL'auteur SLaks
Cela a fonctionné Pour moi..
OriginalL'auteur nikunjM