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

C# 如何在非201状态代码上获取响应流,c#,http,response,webrequest,C#,Http,Response,Webrequest,我在从返回状态代码422的请求中获取响应流时遇到了一些问题 HttpWebResponse objResponse = (HttpWebResponse)wr.GetResponse(); wr.GetResponse引发webexception,因为状态代码不是201。 因此,我永远无法从远程服务器获取响应流。但它确实会在ResponseStream中返回重要信息 因此,我的问题是如何在不返回201但仍返回数据的请求上检索ResponseStream。使用TcpClient并手动发送HTTP

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

HttpWebResponse objResponse = (HttpWebResponse)wr.GetResponse();
wr.GetResponse引发webexception,因为状态代码不是201。
因此,我永远无法从远程服务器获取响应流。但它确实会在ResponseStream中返回重要信息


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

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

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

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

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

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

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

我想这可能是个解决办法。但是没有一种方法可以使用HttpWebResponse/httpwebrequests吗?我想你可以测试StatusCode,然后查看Headers集合,看看服务器返回给你的是什么header信息是的,我想这是可能的。但问题是它在responseBy(ResponseStream)中返回数据。因此,我在看校长时无法获得这些数据。我想这可能是一个解决方案。但是没有一种方法可以使用HttpWebResponse/httpwebrequests吗?我想你可以测试StatusCode,然后查看Headers集合,看看服务器返回给你的是什么header信息是的,我想这是可能的。但问题是它在responseBy(ResponseStream)中返回数据。所以我在查看标题时无法获取这些数据