当使用HttpWebRequest发送请求时,如果返回的状态码为400错误请求,可以通过以下步骤读取服务器的响应:
以下是一个示例代码:
try
{
// 创建HttpWebRequest对象并发送请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://example.com");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// 获取状态码和状态描述
HttpStatusCode statusCode = response.StatusCode;
string statusDescription = response.StatusDescription;
// 读取服务器返回的内容
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string responseText = reader.ReadToEnd();
// 关闭流和响应对象
reader.Close();
responseStream.Close();
response.Close();
// 处理服务器响应
// ...
}
catch (WebException ex)
{
// 捕获WebException异常并处理
if (ex.Response != null)
{
HttpWebResponse errorResponse = (HttpWebResponse)ex.Response;
HttpStatusCode statusCode = errorResponse.StatusCode;
string statusDescription = errorResponse.StatusDescription;
// 读取服务器返回的错误信息
Stream responseStream = errorResponse.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string errorText = reader.ReadToEnd();
// 关闭流和响应对象
reader.Close();
responseStream.Close();
errorResponse.Close();
// 处理错误信息
// ...
}
}
在上述示例中,我们通过HttpWebRequest发送请求,并在try块中获取服务器的响应。如果返回的状态码为400错误请求,会引发WebException异常,在catch块中处理该异常,并读取服务器返回的错误信息。
请注意,上述示例中的代码仅用于演示目的,实际应用中可能需要根据具体情况进行适当的修改和优化。
推荐的腾讯云相关产品:腾讯云CDN(内容分发网络),详情请参考:https://cloud.tencent.com/product/cdn
领取专属 10元无门槛券
手把手带您无忧上云