当使用 HttpClient
进行 GET
请求时,有没有一种方法可以显式设置 Content-Type
头的值?我知道这会破坏 1.1 协议,但我正在使用一个不符合协议且要求我设置 Content-Type
头的 API。
我已经尝试过,但没有成功...
using (var httpClient = new HttpClient())
{
var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://example.com");
httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/x-www-form-urlencoded+v1.3");
await httpClient.SendAsync(httpRequestMessage)
}
在添加了TryAddWithoutValidation
之后,我检查了DefaultRequestHeaders
,但似乎没有设置Content-Type
的值。
如果我尝试设置httpRequestMessage的Content-Type(通过设置httpRequestMessage.Content = ...
),会出现以下错误:
Cannot send a content-body with this verb-type.
使用HttpClient发起GET请求时,是否有一种方法可以显式地设置Content-Type
?