如何在 C# 中正确检查 HttpResponseMessage 的 http 状态代码?
Posted
技术标签:
【中文标题】如何在 C# 中正确检查 HttpResponseMessage 的 http 状态代码?【英文标题】:How to properly check http status code for HttpResponseMessage in C#? 【发布时间】:2019-11-03 20:16:32 【问题描述】:完整的 C# 新手报告
假设我有以下代码
HttpResponseMessage response = ...
如何检查response
的状态码是否为 403?
StatusCode
属性是一个对象 - 而不是整数,所以我不太确定该怎么做。
【问题讨论】:
StatusCode
属性是 enum
。定义值:docs.microsoft.com/en-us/dotnet/api/system.net.httpstatuscode
【参考方案1】:
您可以使用HttpStatusCode
枚举或将枚举转换为整数:
if (response.StatusCode == HttpStatusCode.Forbidden)
...
or
if ((int)response.StatusCode == 403)
...
【讨论】:
@AlanSTACK 我想补充一点,第一种是首选方式:说出能够自我记录其含义的名称与幻数。 403 到底是什么意思?在这里它的意思是“禁止”——那么为什么不把它写出来呢。 同意 100%! @ckuri以上是关于如何在 C# 中正确检查 HttpResponseMessage 的 http 状态代码?的主要内容,如果未能解决你的问题,请参考以下文章
如何检查我的 C# 应用程序是不是使用来自 nuget 包的正确平台特定 dll?