1. ホーム
  2. c#

[解決済み】HttpWebRequestとHttpWebResponseからHttpステータスコード番号(200, 301, 404など)を取得する。

2022-03-27 16:16:57

質問

HTTPステータスコード番号を HttpWebResponse オブジェクトから返される HttpWebRequest . テキストの説明ではなく、実際の数字(200, 301, 302, 404, など)が得られることを望んでいました。("Ok", "MovedPermanently" など) 数値はレスポンスオブジェクトのどこかのプロパティに埋もれているのでしょうか? 大きなswitch関数を作成する以外に何かアイデアはありますか? ありがとうございます。

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());

解決方法は?

Console.Write((int)response.StatusCode);

HttpStatusCode (のタイプ)。 response.StatusCode ) は、メンバーの値が HTTP ステータスコードに一致する列挙型である。

public enum HttpStatusCode
{
    ...
    Moved = 301,
    OK = 200,
    Redirect = 302,
    ...
}