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+"');");
你可以在服务器端 利用 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值的主要内容,如果未能解决你的问题,请参考以下文章