如何从HttpResponse获取有关BadRequest的更多详细信息

问题描述:

我试图连接到公司的Web服务,但我收到了返回的BadRequest值。我想这不是一个很大的问题,我也没有要求如何解决这个不好的请求。我遇到的问题是如何获得更多关于导致它的细节。所以我有这个HttpResponseMessage类变量:如何从HttpResponse获取有关BadRequest的更多详细信息

HttpResponseMessage response = c.Post(address, content); 
//...fill in content 
response = cAssessments.Post(addressInfo, content); //return "Bad Response" 

我把它送上自己的服务器与适当的内容,和我回去400回应,指出“错误的请求”。我的问题是,我如何深入挖掘repsonse变量以查看究竟是什么造成的。我在想,我所提供的服务有一定的依赖性,所以我会假定它在某处。但是我应该关注哪些变量里面的东西呢?例如:

“response.StatusCode”为我提供了400个代码。我可以查看哪些其他属性?

任何帮助表示赞赏。

用一些有用的提示或信息填充BadRequest响应的内容完全取决于提供响应的Web服务。你无法从你身边做任何事情。

尝试内容本身,也是原始请求的URL。

根据您要求的API,它们可能包括在响应内容中特别引起400的具体内容。

而且您要求它在(JSON VS XML或者其他)格式

这一切都取决于什么服务返回。要检查,你可以读取响应流:

using (var stream = response.GetResponseStream()){ 
    using (var reader = new StreamReader(stream, Encoding.UTF8) 
    { 
     var text = reader.ReadToEnd(); 
     // text contains your info 
    } 
} 

调试另一个有用的选项是使用类似postman,在那里你可以在你的要求粘贴和查看完整的立即响应

如果响应没有按没有包含任何有用的信息,但你仍然陷入困境,你无能为力。