You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HttpClient Get请求MediaType格式异常:自定义媒体类型无效排查

问题分析与解决方案

你的问题出在GET请求错误地设置了Content-Type头,同时附加了空的请求内容。HTTP规范中,GET请求通常不包含请求体,设置Content-Type头(用于描述请求体的媒体类型)在这里没有意义,反而会被服务器判定为无效的媒体类型。

Postman能正常运行,是因为它实际把这个媒体类型放在了Accept请求头里(告诉服务器你期望接收的响应格式),而非Content-Type。

修正后的代码

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://pos-integration-service.wolt.com/orders/66e41e1459cade439d415f8f");
request.Headers.Add("WOLT-API-KEY", "xxxx");
// 将媒体类型添加到Accept头,而非Content-Type
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/vnd.wolt.order+json;version=2beta1"));
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

关键说明

  • Content-Type:用于POST/PUT/PATCH等带请求体的请求,描述请求体的格式。GET请求无请求体,不需要设置这个头。
  • Accept:用于告诉服务器客户端能接受的响应媒体类型,这才是你需要指定目标媒体类型的正确位置。

内容的提问来源于stack exchange,提问作者DmO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 13:44:52