HttpClient headers 与 HttpContent headers

HttpClient headers vs HttpContent headers

在 c# 中,为什么 HttpClient 和 HttpContent 都有 headers。他们之间有什么区别。我什么时候应该使用客户端 headers 什么时候使用内容 headers ?

代码示例:

HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("Test header", "content");

HttpContent content = new StringContent("text", Encoding.UTF8, "application/json");
content.Headers.Add("TestHeader", "Header Content");

await client.PostAsync("url", content);

HttpClient 支持多种类型的内容。例如:

  • System.Net.Http.ByteArrayContent
  • System.Net.Http.Json.JsonContent
  • System.Net.Http.MultipartContent
  • System.Net.Http.ReadOnlyMemoryContent
  • System.Net.Http.StreamContent

有关受支持内容的完整列表,请参阅 HttpContent

HttpContent 包含一些更具体的 headers 内容,包括内容类型。

我认为此列表 here 可以让您很好地了解哪些 headers 可用。我同意只有一套 headers 会让事情变得容易得多。