在C#中,使用HttpWebRequest
类处理HTTP响应主要包括以下步骤:
- 创建一个
HttpWebRequest
实例:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.example.com/data");
- 设置请求属性(可选):
request.Method = "GET"; // 或者 "POST"
request.ContentType = "application/json";
request.Timeout = 10000; // 设置超时时间(毫秒)
- 发送请求并获取响应:
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
// 处理响应的代码将在这里
}
- 读取响应内容(可选):
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(responseStream, Encoding.UTF8))
{
string responseText = reader.ReadToEnd();
// 处理响应文本的代码将在这里
}
}
下面是一个完整的示例:
using System;
using System.IO;
using System.Net;
using System.Text;
class Program
{
static void Main()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.example.com/data");
request.Method = "GET";
request.ContentType = "application/json";
request.Timeout = 10000;
try
{
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
Console.WriteLine("HTTP状态码: " + response.StatusCode);
Console.WriteLine("HTTP状态描述: " + response.StatusDescription);
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(responseStream, Encoding.UTF8))
{
string responseText = reader.ReadToEnd();
Console.WriteLine("响应内容: " + responseText);
}
}
}
}
catch (WebException ex)
{
Console.WriteLine("请求发生错误: " + ex.Message);
}
}
}
这个示例展示了如何使用HttpWebRequest
类发送一个GET请求,获取响应,并输出HTTP状态码和响应内容。你可以根据实际需求修改这个示例,例如使用POST方法发送数据或处理异常。