如何在cookie容器c#中删除更新cookie?

如何在cookie容器c#中删除更新cookie?,第1张

概述我使用webbrowser控件打开一个网站,然后将cookie保存在cookieContainer中,稍后使用HTTPwebrequest处理前向浏览页面等. 问题出现了,当我进行搜索并返回100页时,在第一页上,它保存了一个名为ABC的cookie,我将其添加到cookiecontainer并移至下一页,在第二页上再次使用相同的Cookie命名: ABC有一些价值,但现在我在cookiecont 我使用webbrowser控件打开一个网站,然后将cookie保存在cookieContainer中,稍后使用httpwebrequest处理前向浏览页面等.

问题出现了,当我进行搜索并返回100页时,在第一页上,它保存了一个名为ABC的cookie,我将其添加到cookiecontainer并移至下一页,在第二页上再次使用相同的cookie命名: ABC有一些价值,但现在我在cookiecontainer中有两个相同的cookie,当我移动到下一页时,它不起作用,因为它采取了第一个混乱的东西.

怎么解决这个?

httpWEBREQUEST功能:

public string getHTMLcookies(string url)    {        string responseData = "";        try        {            httpWebRequest request = (httpWebRequest)WebRequest.Create(url);            request.Accept = "*/*";            request.AllowautoRedirect = true;            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; windows NT 5.2; .NET CLR 1.0.3705;)";            request.Timeout = 30000;            request.Method = "GET";            request.cookieContainer = yummycookies;            httpWebResponse response = (httpWebResponse)request.GetResponse();            if (response.StatusCode == httpStatusCode.OK)            {                foreach (cookie cookie in response.cookies)                {                    string name = string.Empty;                    name = cookie.name;                    string value = cookie.Value;                    string path = "/";                    string domain = "www.example.com";                    yummycookies.Add(new cookie(name.Trim(),value.Trim(),path,domain));                }                Stream responseStream = response.GetResponseStream();                StreamReader myStreamReader = new StreamReader(responseStream);                responseData = myStreamReader.ReadToEnd();            }            response.Close();        }        catch (Exception e)        {            responseData = "An error occurred: " + e.Message;        }        return responseData;    }
解决方法 您可以使用 SetCookies方法.

var container = new System.Net.cookieContainer();var uri = new Uri("http://www.example.com");container.setcookies(uri,"name=value");container.setcookies(uri,"name=value1");

调用Getcookies(uri)会给出一个Value = value1的cookie.

在你的情况下,代码将是这样的

var uri = new Uri("http://www.example.com");yummycookies.setcookies(uri,response.headers[httpResponseheader.setcookie]);
总结

以上是内存溢出为你收集整理的如何在cookie容器c#中删除/更新cookie?全部内容,希望文章能够帮你解决如何在cookie容器c#中删除/更新cookie?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1063981.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存