Obtenir le code d'État Http certain nombre de 200, 301, 404, etc.) de HttpWebRequest et HttpWebResponse
Je suis en train d'essayer d'obtenir le code d'état HTTP numéro de la HttpWebResponse
objet retourné par une HttpWebRequest
. J'espérais obtenir le nombre réel de personnes (200, 301,302, 404, etc.) plutôt que le texte de description. ("Ok", "MovedPermanently", etc.) Est le nombre enterré dans une propriété quelque part dans l'objet de la réponse? Toutes les idées autres que la création d'un grand commutateur de fonction? Merci.
HttpWebRequest webRequest = (HttpWebRequest)WebRequest
.Create("http://www.gooogle.com/");
webRequest.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
//Returns "MovedPermanently", not 301 which is what I want.
Console.Write(response.StatusCode.ToString());
- Pour l'action opposée: httpResponse.HTTPStatusCode = (HttpStatusCode)Enum.ToObject(typeof(HttpStatusCode), 404))
Vous devez vous connecter pour publier un commentaire.
HttpStatusCode (le type de
response.StatusCode
) est une énumération où les valeurs des membres de correspondre aux codes d'état HTTP, par exemplebool success = ((int)response.StatusCode) >= 200 && ((int)response.StatusCode) < 300;
Vous devez être prudent, les réponses du serveur dans la gamme de 4xx et 5xx jeter un WebException. Vous avez besoin de l'attraper, puis obtenir le code d'état à partir d'un WebException objet:
Que par "dtb', vous devez utiliser HttpStatusCode, mais à la suite d' 'zeldi" vous devez être très prudent avec le code réponses >= 400.
Cela a fonctionné pour moi:
Juste forcer la
StatusCode
àint
.