详细步骤:
-
创建请求:
- 通过
WebRequest.Create
方法创建一个HttpWebRequest
对象。
- 通过
-
设置请求属性:
- 设置请求方法(如
POST
)。 - 设置请求头信息(如
ContentType
、ContentLength
)。
- 设置请求方法(如
-
获取请求流:
- 调用
GetRequestStream
方法获取一个用于写入请求数据的流对象。
- 调用
-
写入数据:
- 使用获取的流对象将数据写入请求主体。
-
发送请求:
- 关闭流以表示数据写入完成,然后发送请求。
string paraUrlCoded = "key1=value1&key2=value2";
byte[] payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://example.com/submit");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = payload.Length;
// 获取请求流并写入数据
using (Stream writer = request.GetRequestStream())
{
writer.Write(payload, 0, payload.Length);
}
// 发送请求并获取响应
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string responseText = reader.ReadToEnd();
Console.WriteLine(responseText);
}
表单数据请求
string paraUrlCoded = "key1=value1&key2=value2";
byte[] payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
request.ContentType = "application/x-www-form-urlencoded";
JSON数据请求
string jsonData = "{\"key1\":\"value1\", \"key2\":\"value2\"}";
byte[] payload = System.Text.Encoding.UTF8.GetBytes(jsonData);
request.ContentType = "application/json";