相关疑难解决方法(0)

如何在CookieContainer中获取cookie信息?(所有这些,不是针对特定领域)

请参阅以下代码:

CookieContainer cookieJar = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com");
request.CookieContainer = cookieJar;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
int cookieCount = cookieJar.Count;
Run Code Online (Sandbox Code Playgroud)

我如何在里面获取cookie信息cookieJar?(所有这些,不只是针对特定域.)
我如何添加或删除cookie?

c# cookies .net-4.0 httpwebrequest httpwebresponse

16
推荐指数
4
解决办法
4万
查看次数

有没有办法清除 CookieContainer?

我想清除 CookieContainer 中收到的所有 cookie,而无需初始化新的 CookieContainer、HttpClientHandler 和 HttpClient。有办法吗?我已经检查过MSDN,但似乎我只能使用 GetCookies(Uri) 来获取与特定 Uri 关联的所有 cookie。

var cc = new CookieContainer();

var handler = new HttpClientHandler
    {
        CookieContainer = cc
    };

var client = new HttpClient(handler);
Run Code Online (Sandbox Code Playgroud)

c# cookies httpclient

4
推荐指数
1
解决办法
2808
查看次数

如何制作CookieContainer的副本?

鉴于,CookieContainer的实例不是线程安全的.

此类型的任何公共静态(在Visual Basic中为Shared)成员都是线程安全的.任何实例成员都不保证是线程安全的.

所以事实证明,如果没有同步,我不能在多个并发HTTP请求中使用相同的容器.不幸的是,MSDN的文档不清楚如何正确地同步它.

解决方案是为每个请求使用主容器的副本,一旦请求完成,副本中的cookie可以合并回主容器.创建副本和合并可以以同步方式完成.

所以问题是:如何复制CookieContainer类的实例?

.net c# cookies

3
推荐指数
2
解决办法
3467
查看次数