如何为 C# 中的 HttpClient 请求设置 Content-Type 标头?
大家好!我是 C# 新手,正在尝试使用 HttpClient 发送 POST 请求。我需要将内容类型指定为 application/json,但一直搞不清楚如何正确设置。我尝试了不同方法,但服务器总是返回 400 Bad Request 错误。
以下是我当前的代码:
```csharp
using (var client = new HttpClient())
{
var data = new { Name = "Test", Value = 123 };
var json = JsonSerializer.Serialize(data);
// 尝试设置 Content-Type
client.DefaultRequestHeaders.Add("Content-Type", "application/json");
var response = await client.PostAsync("https://api.example.com/data",
new StringContent(json));
}
```
但运行此代码时,我收到异常:"Misused header name. Make sure request headers are used with HttpRequestMessage, response ones with HttpResponseMessage, and content ones with IHttpContentHeaders objects."
我了解到 Content-Type 是一个内容标头