在c#(.net) system.net.http中,如何获得响应.状态码作为int?不使用HttpWebRequest

本文关键字:net int HttpWebRequest 状态 何获得 system http 响应 | 更新日期: 2023-09-27 18:10:58

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

我想获得statusCode在整数,我该怎么做?

在c#(.net) system.net.http中,如何获得响应.状态码作为int?不使用HttpWebRequest

HttpResponseMessage.StatusCodeHttpStatusCode枚举,其基础整数类型为int,因此您可以直接对其进行强制类型转换:

int statusCode = (int)response.StatusCode;

HttpStatusCode被声明为enum,类似于:

enum HttpStatusCode
{
     NotFound = 404,
     ...
}

这意味着你可以简单地通过强制转换:

int status = (int)HttpStatusCode.NotFound;