Cookie值c#

Cookie值c#,c#,cookies,C#,Cookies,我的问题是,这是否是在c#中获取cookie值的正确方法。我的意图只是获取特定cookie的值,并将其存储在一个字符串变量中,我在示例中将该变量命名为“cookie” WebRequest request = WebRequest.Create(url); (request as HttpWebRequest).CookieContainer = new CookieContainer(); HttpWebResponse response = (HttpWebResponse)request.

我的问题是,这是否是在c#中获取cookie值的正确方法。我的意图只是获取特定cookie的值,并将其存储在一个字符串变量中,我在示例中将该变量命名为“cookie”

WebRequest request = WebRequest.Create(url);
(request as HttpWebRequest).CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String cookie = response.Cookies[cookiename].ToString();
除了错误检查(超时、异常)之外,还支持按名称查找Cookie

WebRequest request = WebRequest.Create(url);
(request as HttpWebRequest).CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String cookie = response.Cookies[cookiename].ToString();
string cookie = response.Cookies[cookiename].ToString();

因此,“是”是您问题的答案:)

请求。cookie
用于对服务器上的请求作出反应-
响应。如果您在服务器上时cookie不存在,cookie
将创建一个cookie,因为这不在服务器执行代码的上下文范围内,这是合适的。

请看:

WebRequest request = WebRequest.Create(url);
(request as HttpWebRequest).CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String cookie = response.Cookies[cookiename].ToString();
保存Cookie:

WebRequest request = WebRequest.Create(url);
(request as HttpWebRequest).CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String cookie = response.Cookies[cookiename].ToString();
if (Request.Cookies["cookieName"] == null)
            Response.Cookies.Add(new HttpCookie("cookieName"));

        Response.Cookies["cookieName"].Expires.AddYears(5);
        Response.Cookies["cookieName"]["keyValue"] = "string value";   
        Response.AppendCookie(Response.Cookies["cookieName"]);
恢复cookie:

WebRequest request = WebRequest.Create(url);
(request as HttpWebRequest).CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String cookie = response.Cookies[cookiename].ToString();
HttpCookie CookieKey = Request.Cookies["cookieName"];
        if (CookieKey != null)
        {
            string value = CookieKey["keyValue"]; 
        }

希望这能有所帮助。

正在等待投入生产,以便我可以尝试,但我也在示例中看到了使用cookie[cookiename]代替响应的情况。人们使用请求。cookie[cookiename],这两者之间有什么区别?一个是响应上的cookie,另一个是请求上的cookie。这是发送cookie和接收cookie的区别。因此,如果我在接收cookie的示例中是指请求。cookies[cookiename]?谢谢!我在前面的恢复部分尝试过,它说没有在范围内声明请求,所以我创建了请求对象。这样行吗?顺便问一下,“keyvalue”和“cookiename”之间有什么区别,或者它们是相同的?WebRequest=WebRequest.Create(url);HttpCookie CookieKey=Request.Cookies[“cookieName”];如果(CookieKey!=null){string value=CookieKey[“keyValue”];}Hi@rdk1992,cookie可以有多个值​​. 所以使用这个:Response.Cookies[“cookieName”][“name”]=“name”;响应.Cookies[“cookieName”][“age”]=“age”;我的意思是在下面的部分,恢复cookie的部分:我的意思不是仅仅为了得到一个cookie的值而创建一个cookie。因此,我以您的恢复cookie部分为例来指导自己。问题是您有请求。Cookies,尝试了这个,并给了我错误,请求未声明。所以我的问题是,如果请求对象应该这样声明:“WebRequest request=WebRequest.Create(url);”
WebRequest request = WebRequest.Create(url);
(request as HttpWebRequest).CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String cookie = response.Cookies[cookiename].ToString();