在C#中,可以使用HttpClient类来发送HTTP请求并提交JSON数据。下面是一个示例代码:
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace HttpClientExample
{
class Program
{
static async Task Main(string[] args)
{
// 创建一个HttpClient实例
using (HttpClient client = new HttpClient())
{
// 设置请求的内容类型为application/json
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
// 构造要发送的JSON数据
var json = "{\"name\":\"John\", \"age\":30}";
// 构造HTTP请求内容
var content = new StringContent(json, Encoding.UTF8, "application/json");
// 发送POST请求
var response = await client.PostAsync("http://example.com/api/endpoint", content);
// 获取响应内容
var responseString = await response.Content.ReadAsStringAsync();
// 输出响应内容
Console.WriteLine(responseString);
}
}
}
}
上面的代码使用HttpClient类来发送一个POST请求,请求的内容是一个JSON字符串。首先,我们使用HttpClient.DefaultRequestHeaders属性设置请求的内容类型为application/json。接下来,我们构造一个StringContent对象来包装要发送的JSON数据,并指定内容类型为application/json。然后,使用HttpClient.PostAsync方法发送POST请求,并传递请求URL和请求内容。最后,可以使用HttpResponseMessage.Content属性获取响应内容,并使用ReadAsStringAsync方法将其作为字符串读取出来。