Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#NET中保存cookie的最佳方法?_C#_.net_Cookies - Fatal编程技术网

在C#NET中保存cookie的最佳方法?

在C#NET中保存cookie的最佳方法?,c#,.net,cookies,C#,.net,Cookies,有时,您可能需要调用“登录”url,传递某种用户名/密码。然后,web服务通常会返回一个cookie,您可以在后续请求中使用它 在下面的代码(C#.NET)中,保存此cookie的正确方法是什么 cookies = new CookieContainer(); HttpWebResponse response = (HttpWebResponse)req.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { coo

有时,您可能需要调用“登录”url,传递某种用户名/密码。然后,web服务通常会返回一个cookie,您可以在后续请求中使用它

在下面的代码(C#.NET)中,保存此cookie的正确方法是什么

cookies = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
     cookies = req.CookieContainer;   //*choice 1*
     cookies.Add(req.CookieContainer.GetCookies(uri));  //*choice 2*
     cookies.Add(response.Cookies);  //*choice 3*
}

对于选项1,似乎没有办法将返回的CookieContainer“附加”到现有的CookieContainer(如果我正在保存其他cookie)。

您应该将现有的cookie容器传递到服务器,它将返回它以及它所做的任何更改。这是web服务器的正常行为——它们很少清理cookie

i、 首先创建cookie容器,初始化其中任何您想要的内容,然后将其传递给HttpWebResponse。冲洗,重复