我又踩坑了!如何为 HttpClient 请求设置 Content-Type 标头?( 二 )


方法①对 HttpRequestMessage 对象 Content 属性添加 Header
using (var request = new HttpRequestMessage){request.Method = new HttpMethod(method);request.RequestUri = new Uri(url);request.Content = new StringContent(payload);request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");var response = await _httpClient.SendAsync(request);return response;}使用 HttpClient.SendAsync(request)
方法②写入 HttpContent 时传入媒体类型
StringContent 某个重载构造函数 : 参数3 可直接设置media type ,
var response = await client.PostAsync($"open-api/v1/user-token/info?{req.AuthString}",new StringContent(req.ReqPayload.ToString,Encoding.UTF8,"application/json") );
我又踩坑了!如何为 HttpClient 请求设置 Content-Type 标头?文章插图
干货旁白

  1. 小编对于 Http 协议有知识漏洞 , 搬砖时一直关注 Chrome DevTools , 忽略了还有 Entity Header 一说 。
  2. Content-Type 这个实体标头 , 会出现了请求/响应标头 , 指示资源的媒体类型 。
  3. .NTE 针对4种 HTTP Header 强化了区别 , 在实际开发中要区别使用 。
  • #page-41


我又踩坑了!如何为 HttpClient 请求设置 Content-Type 标头?文章插图
我又踩坑了!如何为 HttpClient 请求设置 Content-Type 标头?文章插图
我又踩坑了!如何为 HttpClient 请求设置 Content-Type 标头?文章插图
点分享
我又踩坑了!如何为 HttpClient 请求设置 Content-Type 标头?文章插图
我又踩坑了!如何为 HttpClient 请求设置 Content-Type 标头?文章插图