В c # (.net) system.net.http, как получить response.statuscode как int? Не использовать HttpWebRequest и HttpWebResponse

        var hcHandler = new HttpClientHandler();
        //hcHandler.AllowAutoRedirect = false;
        var hc = new HttpClient(hcHandler);
        hc.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
        String url = "http://passport.cnblogs.com/login.aspx";
        var task = hc.GetAsync(new Uri(url));
        HttpResponseMessage response = task.Result;

        string statusCode = response.StatusCode.ToString();

Я хочу получить код статуса целым числом, как мне это сделать?


person 陈黎栋John    schedule 02.09.2015    source источник
comment
возможный дубликат Получение статуса Http кодовый номер (200, 301, 404 и т. д.) из HttpWebRequest и HttpWebResponse   -  person Bhavik Patel    schedule 02.09.2015


Ответы (2)


_1 _ - это HttpStatusCode enum, базовым целочисленным типом которого является int, поэтому вы можете просто привести его:

int statusCode = (int)response.StatusCode;
person Saeb Amini    schedule 02.09.2015

HttpStatusCode объявлен как нечто вроде перечисления:

enum HttpStatusCode
{
     NotFound = 404,
     ...
}

Это означает, что вы можете сделать это, просто применив:

int status = (int)HttpStatusCode.NotFound;
person Simon Karlsson    schedule 02.09.2015