我使用HttpClient
来获取服务器API
的回复。
此API
类似于:
/ API /图像/ {0}
其中{0}
是图像的名称
图像名称只有三个可能的值,例如{"green", "red", "blue"}
我不知道目前哪些图片存在,所以我对所有三张图片进行API
调用:
- / api / images / green
- / api / images / red
- / API /图像/蓝
HttpClient
可能会返回许多错误消息,但我想针对以下内容提出一个特殊情况:
响应状态代码不表示成功:404(未找到)。
问题:是否可以使HttpClient
返回(在这种情况下)只有404
的错误消息?
答案 0 :(得分:4)
HttpResponseMessage
类包含StatusCode
属性,所以为什么你不想这样处理它:
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(url);
switch (response.StatusCode)
{
case System.Net.HttpStatusCode.NotFound: { /* return here anything you want on 404 */ } break;
default: { /* default behavior */ } break;
}
}
答案 1 :(得分:0)
响应对象将具有可以按如下方式访问的StatusCode属性:(注意StatusCode.OK = 200)
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
if (response.StatusCode != HttpStatusCode.OK)
...