如何在非201状态代码上获取响应流

时间:2009-10-28 09:43:28

标签: c# http response webrequest

我遇到了一些问题,即从返回状态码422的请求中获取响应流。

HttpWebResponse objResponse = (HttpWebResponse)wr.GetResponse();

wr.GetResponse抛出一个webexception,因为状态代码不是201 所以我永远无法从远程服务器获取响应流。但它确实在ResponseStream中返回重要信息。

所以我的问题是如何在不返回201但仍返回数据的请求上检索ResponseStream。

2 个答案:

答案 0 :(得分:2)

抛出的WebException包含对响应的引用,您可以从中获取响应流。

catch(WebException ex)
{
     ex.Response.GetResponseStream();
}

答案 1 :(得分:1)

使用TcpClient并手动发送HTTP请求。这是一种非常简单的请求格式。