【问题标题】:C# CookieContainer not storing cookies from request to response?C# CookieContainer 不存储从请求到响应的 cookie?
【发布时间】:2019-01-09 16:03:27
【问题描述】:

我正在发送请求,但 cookie 没有存储在我的容器中以进行响应?

代码示例-

        string uri = "https://www.localhost.com/"
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        request.ContentType = "application/x-www-form-urlencoded";
        CookieContainer cookies = new CookieContainer();
        request.CookieContainer = cookies;
        System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;


        using (Stream stream = request.GetRequestStream())
        {
            byte[] bytes = new UTF8Encoding().GetBytes(s);
            stream.Write(bytes, 0, bytes.Length);
        }


        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (Stream stream2 = response.GetResponseStream())
                {
                    using (StreamReader reader = new StreamReader(stream2, Encoding.UTF8))
                    {
                        str6 = reader.ReadToEnd();
                    }
                }
        }

如你所见,我已经实现了

  CookieContainer cookies = new CookieContainer();
  request.CookieContainer = cookies;

哪个应该将来自请求的 cookie 存储在容器中,以便在响应权中进一步使用?就像响应需要请求 cookie 来加载页面一样。

【问题讨论】:

    标签: c# httpwebrequest httpwebresponse cookiecontainer


    【解决方案1】:

    我建议使用 HttpClient,因为它会为您处理 cookie,而且通常更易于使用。另请注意,即使它是一次性的,您通常也应该在整个应用程序中使用相同的 HttpClient。见:https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/

    【讨论】:

      猜你喜欢
      • 2015-08-17
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 2019-03-12
      • 1970-01-01
      • 2019-04-25
      相关资源
      最近更新 更多