📜  请求查询参数 httpwebrequest (1)

📅  最后修改于: 2023-12-03 14:57:43.427000             🧑  作者: Mango

请求查询参数 HttpWebRequest

在开发web应用程序时,经常需要从远程Web服务器请求参数。HttpWebRequest是.NET Framework提供的一个类,可以用于这种请求。HttpWebRequest类可以使用GET或POST方法发送Http请求,并获取响应。

发送GET请求

发送GET请求时,可以将查询参数包含在URL中。以下是构建HttpWebRequest对象并发送GET请求的示例代码:

// 准备URL和查询参数
string url = "http://www.example.com/search";
string query = "?q=apple";

// 使用WebClient发送GET请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + query);
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

// 处理响应
//...
发送POST请求

发送POST请求时,需要将查询参数包含在请求正文中。可以使用HttpWebRequest的GetRequestStream方法获取请求流,并将查询参数写入请求流中。以下是构建HttpWebRequest对象并发送POST请求的示例代码:

// 准备URL和查询参数
string url = "http://www.example.com/search";
string query = "q=apple";

// 使用HttpWebRequest发送POST请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
byte[] data = Encoding.ASCII.GetBytes(query);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (Stream stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

// 处理响应
//...
获取响应

发送HTTP请求后,需要获取响应。可以使用HttpWebRequest的GetResponse方法获取响应对象,然后使用响应对象的GetResponseStream方法获取响应流。以下是获取响应的示例代码:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.example.com");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
string responseString = reader.ReadToEnd();

以上是使用HttpWebRequest请求查询参数的基本介绍,可以根据实际需求进行调整。