【问题标题】:HttpClient SendAsync is not sending cookiesHttpClient SendAsync 未发送 cookie
【发布时间】:2021-02-01 16:37:36
【问题描述】:
var Url = "https://myhost.com/api";
var UrlEncodedContent = GetContent();
var CookieContainer = new CookieContainer();
using(var clientHandler = new HttpClientHandler() { CookieContainer = CookieContainer })
{
    Uri Endpoint = new Uri("https://myhost.com");
    CookieContainer.Add(Endpoint, new Cookie("mycookie", "abc"));

    var Request = new HttpRequestMessage(HttpMethod.Post, Url) { Content = UrlEncodedContent };

    var Response = MyHttpClient.SendAsync(Request); 
} 

客户端没有发送 cookie。我通过查看 Fiddler 中的请求确认了这一点。 据我所知,这应该可以正常工作。

【问题讨论】:

  • 你没有使用clientHandler...
  • 您如何初始化MyHttpClient 以及您在哪里将clientHandler 设置为MyHttpClient
  • @mxmissile 啊,愚蠢的错误。谢谢。

标签: c# .net cookies .net-core httpclient


【解决方案1】:

看起来您需要将处理程序绑定到客户端,可能是这样的:

using (var client = new HttpClient(clientHandler))
{
    var Response = client.SendAsync(Request);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2020-08-07
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    相关资源
    最近更新 更多