如何从request中获取指定cookies

Posted

tags:

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

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。

1.获取Cookie的值:获取Cookie值的标准代码格为:myCookie.Values["auth"];
上句代码可以获取名为myCookie的Cookie对象键名为auth的键值。如果不存在,则返回null。
DateTime now=new DateTime.Now;
Response.Cookies["Info"].Expires = DateTime.Now.AddDays(1);
//设定Cookie过期时间下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法
2.代码如下:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i = 0; i < limit; i++)

cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);

3.以上就是Java程序开发中涉及到的获取cookie方法
分享
参考技术A

获取Cookie的值:

    获取Cookie值的标准代码格为:myCookie.Values["auth"]
    上句代码可以获取名为myCookie的Cookie对象键名为auth的键值。如果不存在,则返回null。
    DateTime now=new DateTime.Now
    Response.Cookies["Info"].Expires = DateTime.Now.AddDays(1);
    设定Cookie过期时间下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法。

    代码如下:


    HttpCookie aCookie;
    string cookieName;
    int limit = Request.Cookies.Count;
    for (int i = 0; i < limit; i++)
    cookieName = Request.Cookies[i].Name; aCookie = newHttpCookie(cookieName); aCookie.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(aCookie);

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。

Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。

参考技术B 读取属于当前文档的所有cookies var allcookies = document.cookie; 定义一个函数,用来读取特定的cookie值。 function getCookie(cookie_name) var allcookies = document.cookie; var cookie_pos = allcookies.indexOf(cookie_name);

MVC Request.IsAuthenticated一直false Request.Cookie获取不到cookie

项目中,在做登录验证时,用到了cookie,同一账户登陆,可以。切换其他账号时,就在也登录不上了,用原来的也不行。检查Request.IsAuthenticated一直false,而且Request.Cookie中没有设置的Cookie,但是通过fiddler检查post,get数据,cookie都正常。

通过修改代码发现,当使用自定义的账户对象(new一个,随便设置值)没有问题,而使用EF查找数据库,生成的账户对象则不行。通过对比发现,EF查找数据库得到的账户对象除了基本的信息外,还附带了其他一些信息,导致json序列化后,字符串较大。保存的cookie也很大。

所以可能是cookie体积过大,导致了一直获取不到request中的cookie。

以上是关于如何从request中获取指定cookies的主要内容,如果未能解决你的问题,请参考以下文章

java程序读取资源文件时路径如何指定

从 WebForms 中的 Query 获取指定值

如何从 laravel 5.0 中的 Request 类中获取所有查询字符串

如何从本地存储中获取阵列图像到刀片文件

如何从request.FILES获取文件名?

如何从HttpServletRequest request里面获取客户端提交的post内容