C#获取cookie值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#获取cookie值相关的知识,希望对你有一定的参考价值。

我想写一个Confirm弹出框的静态函数,思路是用js把confirm返回的值放到cookie里面,然后C#获取,函数代码如下
bool Rst = false;
Write("document.cookie='Rst='+confirm('" + msg + "'); ");
Msg(HttpContext.Current.Request.Cookies["Rst"].Value);
if (HttpContext.Current.Request.Cookies["Rst"] != null)

try

Rst = bool.Parse(HttpContext.Current.Request.Cookies["Rst"].Value);
Msg(Rst.ToString());

catch Msg("cookie获取失败");
finally



else Msg("cookie写入失败");
return Rst;

但是每次获取的cookie值都是上一次js写入的值,就是第一次弹出"cookie获取失败",以后每次都是上次写入的值。
求高手解答一下,折腾我一天了,由于我是想写出类以后直接调用,故不要用隐藏域或者request这样的方法~~
Msg()就是一个弹出带确认的对话框,意思就是在类中写一个Confirm功能的函数,能够返回confirm的值是true还是false
public static void Write(string str)

HttpContext.Current.Response.Write("<script>" + str + "</script>");


public static void Msg(string msg)

Write("alert('"+msg+"');");

你的意思是不是写一个可以在服务器端执行的类似于Confirm功能的类,你贴的代码,只是一部分吧,别人看起来就不好说了。
你可以在服务器端 利用 attribut.add("<script></script>")这样实现,自己写一个类,利用HttpContext.Current.Response.Write("还有脚本")
你完全可以这样的做啊
参考技术A 朋友,在CSDN上有一个cookie类下载,可以用js,也可以用C#等~

参考资料:C#

参考技术B MSG是什么呢 参考技术C 还是用隐藏域吧

C# web 获取服务端cookie

 CookieContainer cookies = new CookieContainer();
            string url = "http://120.24.56.48:8889/api/auth/login?username=13590372650&password=wjkj110";
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
            myHttpWebRequest.Timeout = 20 * 1000; //连接超时  
            myHttpWebRequest.Accept = "*/*";
            myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
            myHttpWebRequest.CookieContainer = new CookieContainer(); //暂存到新实例</span>  
            myHttpWebRequest.GetResponse().Close();
            cookies = myHttpWebRequest.CookieContainer; //保存cookies</span>  
            string cookiesstr = myHttpWebRequest.CookieContainer.GetCookieHeader(myHttpWebRequest.RequestUri); //把cookies转换成字符串  

            url = "http://120.24.56.48:8889/api/auth/login?username=13590372650&password=wjkj110";
            myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
            myHttpWebRequest.Timeout = 20 * 1000; //连接超时  
            myHttpWebRequest.Accept = "*/*";
            myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
            myHttpWebRequest.CookieContainer = cookies; //使用已经保存的cookies 方法一</span>  
            //myHttpWebRequest.Headers.Add("Cookie", cookiesstr); //使用已经保存的cookies 方法二  
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            Stream stream = myHttpWebResponse.GetResponseStream();
            stream.ReadTimeout = 15 * 1000; //读取超时  
            StreamReader sr = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
            string strWebData = sr.ReadToEnd();

            string richTextBox1 = cookiesstr + "\r\n\r\n" + strWebData;

以上是关于C#获取cookie值的主要内容,如果未能解决你的问题,请参考以下文章

C#中Request.Cookies 和 Response.Cookies 的区别分析

c#完全获取全部Cookie

c#完全获取全部Cookie

如何在asp.net网站中获取cookie值

C#如何用winform获取某个网站的cookies

C# asp.net 如何跨域获取cookie