C# HttpListenerRequest 获取请求参数
时间: 2023-09-06 10:13:55 浏览: 269
C#的HttpListenerRequest类可以用来表示接收到的HTTP请求,获取请求参数有以下两种方法:
1. 使用QueryString属性获取GET请求参数
当请求是GET方法时,可以使用QueryString属性获取请求参数,该属性返回一个NameValueCollection类型的对象,其中包含请求参数的键值对。例如:
```
NameValueCollection queryString = request.QueryString;
string name = queryString["name"];
```
2. 使用InputStream属性获取POST请求参数
当请求是POST方法时,请求参数通常包含在请求正文中。可以使用InputStream属性获取请求正文的输入流,然后使用StreamReader类读取输入流中的内容。例如:
```
Stream inputStream = request.InputStream;
using (StreamReader reader = new StreamReader(inputStream))
{
string requestBody = reader.ReadToEnd();
// 解析请求参数
}
```
在解析请求参数时,可以使用JsonConvert类将请求正文转换为JSON对象,也可以使用HttpUtility.ParseQueryString方法将请求正文解析为NameValueCollection对象。例如:
```
// 解析JSON对象
JObject requestBodyObject = JObject.Parse(requestBody);
string name = requestBodyObject["name"].ToString();
// 解析NameValueCollection对象
NameValueCollection requestBodyCollection = HttpUtility.ParseQueryString(requestBody);
string name = requestBodyCollection["name"];
```
以上是获取请求参数的两种常见方法,您可以根据需要使用它们来处理接收到的HTTP请求。
阅读全文