C#中可以使用HttpWebRequest类来发送HTTP请求,并通过获取响应的状态码来创建WebException。下面是一个示例代码:
using System;
using System.Net;
class Program
{
static void Main()
{
try
{
// 创建一个HttpWebRequest对象
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://example.com");
// 发送请求并获取响应
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// 获取响应的状态码
HttpStatusCode statusCode = response.StatusCode;
// 如果状态码不是200(OK),则抛出WebException
if (statusCode != HttpStatusCode.OK)
{
throw new WebException("请求失败,状态码:" + statusCode.ToString(), null, WebExceptionStatus.ProtocolError, response);
}
// 处理正常响应
// ...
// 关闭响应
response.Close();
}
catch (WebException ex)
{
// 处理WebException
Console.WriteLine("发生WebException:" + ex.Message);
if (ex.Response != null)
{
// 获取WebException的响应
HttpWebResponse errorResponse = (HttpWebResponse)ex.Response;
Console.WriteLine("错误响应的状态码:" + errorResponse.StatusCode);
// ...
errorResponse.Close();
}
}
catch (Exception ex)
{
// 处理其他异常
Console.WriteLine("发生异常:" + ex.Message);
}
}
}
这段代码演示了如何使用C#中的HttpWebRequest类发送HTTP请求,并根据响应的状态码来创建WebException。如果状态码不是200(OK),则抛出WebException,并可以通过WebException的Response属性获取错误响应的详细信息。
推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云对象存储(COS)、腾讯云内容分发网络(CDN)等。你可以通过访问腾讯云官网(https://cloud.tencent.com/)了解更多关于这些产品的详细信息。
领取专属 10元无门槛券
手把手带您无忧上云