从WebException

时间:2018-10-31 15:30:12

标签: c# .net system.net.webexception

我尝试了以下答案,但是得到的只是一个空字符串。

WebException how to get whole response with a body?

我已经测试了通过邮递员到达终点的情况,并且得到了我期望的json响应(错误响应)。但是当我尝试在.net中命中该端点时,响应似乎不包含JSON。上面的问题回答的结果为空字符串。

catch (WebException ex)
        {

            var resp = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();

            dynamic obj = JsonConvert.DeserializeObject(resp);
            var messageFromServer = obj.error.message;
            return messageFromServer;

        }

当我尝试仅返回ReadToEnd()字符串时,它为空。只是“”。

但是如前所述,我要命中的端点正确返回了JSON。

{
    "Message" : "The number could not be found"
}

1 个答案:

答案 0 :(得分:0)

仅是示例,您应使用以下内容:

dynamic obj = JsonConvert.DeserializeObject(resp);
var messageFromServer = obj.Message;

请比较链接问题中的JSON:

{  
   "count":0,
   "startIndex":0,
   "status":1,
   "statusCode":500,
   "error":{  
      "message":"Invalid username or password."
   }
},

和您的:

{
    "Message" : "The number could not be found"
}