C#post请求中 传入数组类型的body
时间: 2023-11-23 16:34:00 浏览: 103
C#的http发送post和get请求源码
在 C# 中进行 POST 请求并传递数组类型的 body,同样可以使用 `HttpClient` 类。
以下是示例代码:
```csharp
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static async Task Main(string[] args)
{
var url = "http://example.com/api";
var data = new[] { "John", "Doe" };
var json = JsonConvert.SerializeObject(data);
var client = new HttpClient();
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
```
其中,`url` 是请求的地址,`data` 是要传递的数组数据,使用 `JsonConvert.SerializeObject` 将数组转换为 JSON 字符串。然后使用 `StringContent` 将 JSON 字符串转换为字符串并设置编码和内容类型为 `application/json`。最后使用 `HttpClient` 发送 POST 请求,并获取响应结果。
需要注意的是,要将数组转换为 JSON 字符串,需要使用 `Newtonsoft.Json` 库。如果没有安装该库,可以在 Visual Studio 中使用 NuGet 包管理器安装。
阅读全文