如何使用 HttpClient 添加名为 "Cookie" 的 header?
How to add a header named "Cookie" with HttpClient?
我使用的 API 强制我在名为 "Cookie" 的 header 中使用身份验证令牌。
我使用 WebApiClient 尝试以下代码:
_client = new HttpClient();
_client.BaseAddress = baseUri;
_client.DefaultRequestHeaders.Accept.Clear();
_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
_client.DefaultRequestHeaders.Add("Cookie", _token);
HttpResponseMessage response = _client.GetAsync("myapi").Result;
但是请求没有 "Cookie" header。删除自身。当我更改 header 名称 "CookieX" 或请求中显示的任何其他名称时。
有没有办法插入一个名为 "Cookie" 的 header?
最后我使用 ClientHandler 的 UseCookie 属性.
解决了
HttpClientHandler clientHandler = new HttpClientHandler();
clientHandler.UseCookies = false;
_client = new HttpClient(clientHandler);
我使用的 API 强制我在名为 "Cookie" 的 header 中使用身份验证令牌。
我使用 WebApiClient 尝试以下代码:
_client = new HttpClient();
_client.BaseAddress = baseUri;
_client.DefaultRequestHeaders.Accept.Clear();
_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
_client.DefaultRequestHeaders.Add("Cookie", _token);
HttpResponseMessage response = _client.GetAsync("myapi").Result;
但是请求没有 "Cookie" header。删除自身。当我更改 header 名称 "CookieX" 或请求中显示的任何其他名称时。
有没有办法插入一个名为 "Cookie" 的 header?
最后我使用 ClientHandler 的 UseCookie 属性.
解决了 HttpClientHandler clientHandler = new HttpClientHandler();
clientHandler.UseCookies = false;
_client = new HttpClient(clientHandler);