[英]How can I set response header in httpclient in C#?
我收到 text/html 格式的响应。如何设置响应 header 以便获得 application/json 格式的响应。
代码:
var httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = builder.Uri,
Headers = {
{ HttpResponseHeader.ContentType.ToString(), "application/json" },
{ "Auth", "###################################################" }
}
};
var httpResponse = await _httpClient.SendAsync(httpRequestMessage);
你没有。 内容类型 header
作为响应,Content-Type header告诉客户端返回内容的实际内容类型是什么。
服务器决定响应的内容类型,客户端使用它进行相应的处理。 您可以在请求中设置开箱即用的任何内容。
如果您正在处理响应创建,您可以创建一个自定义 header 来指示响应的类型并让服务器端代码处理它,但这通常不应该这样做。
正如@Athanasios 所述,您不能指定服务器返回的 Content-Type。 但是,您可以尝试一件事:您可以告诉服务器您想要获得 JSON 格式的响应。
设置 HTTP Header Accept
to application/json
但是,最终还是由服务器来决定返回什么内容
看来您正在寻找接受header。 接下来试试:
var httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = builder.Uri,
Headers = {
{ "Accept", "application/json"},
{ "Auth", "###################################################" }
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.