我正在使用 HttpClient 发送请求,我想在 GET 方法中使用 HttpClient 使用我的自定义请求标头?
这是我的代码:
public HttpResponseMessage Get(string url, List<KeyValuePair<string, string>> headers = null)
{
HttpRequestMessage request = new HttpRequestMessage()
{
RequestUri = new Uri(url),
Method = HttpMethod.Get,
};
if (headers != null && headers.Count > 0)
{
foreach (var header in headers)
{
request.Headers.Add(header.Key, header.Value);
}
}
HttpResponseMessage response = httpClient.SendAsync(request).Result;
return response;
}
但它在request.Headers.Add(header.Key, header.Value);
抛出了一个错误
以下是错误消息:
误用的标头名称。确保请求标头与 HttpRequestMessage 一起使用,响应标头与 HttpResponseMessage 一起使用,内容标头与 HttpContent 对象一起使用。
任何帮助将不胜感激
您应该使用HttpClient
实例执行此操作,如下所示:
httpClient.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("x-your-custom-header"));