.Net HttpClient 如何管理拥有多种媒体类型
本文关键字:拥有 媒体 类型 管理 HttpClient 何管理 Net | 更新日期: 2023-09-27 18:37:28
我正在实现一个 HttpWebRequest,并注意到 Accept 属性的类型为 string
webRequest.Accept = "application/json";
HttpClient的实现将其接受为HttpHeaderValueCollection<MediaTypeWithQualityHeaderValue>
类型
clientRequest.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
clientRequest.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
这意味着您可以根据需要向其Add
尽可能多的媒体类型。
但根据这个问题,该标准只允许您接受 1 种内容或媒体类型。
那么,HttpClient如何能够支持多种媒体类型呢?
您链接到的问题正在谈论响应中的Content-Type
标头。
您正在查看请求中的Accept
标头。
服务器决定使用哪种特定内容类型(可能与 Accept
标头中的任何内容类型匹配,也可能不匹配)。此过程称为内容协商。
端如何工作的细节取决于所使用的服务器技术。下面介绍了它在 MVC Web API ASP.Net 工作原理