【问题标题】:In c#( .net) system.net.http, how to get the response.statuscode as an int? Not to use HttpWebRequest and HttpWebResponse在 c#( .net) system.net.http 中,如何将 response.statuscode 获取为 int?不要使用 HttpWebRequest 和 HttpWebResponse
【发布时间】:2015-09-02 07:59:37
【问题描述】:
        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# system.net.httpwebrequest


【解决方案1】:

HttpResponseMessage.StatusCode 是一个HttpStatusCode 枚举,其底层整数类型是int,所以你可以直接转换它:

int statusCode = (int)response.StatusCode;

【讨论】:

    【解决方案2】:

    HttpStatusCode 被声明为类似的枚举:

    enum HttpStatusCode
    {
         NotFound = 404,
         ...
    }
    

    这意味着你可以简单地通过投射来做到这一点:

    int status = (int)HttpStatusCode.NotFound;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 2010-10-08
      • 2012-12-01
      • 2023-02-10
      • 2012-02-26
      • 1970-01-01
      相关资源
      最近更新 更多