博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpCookie
阅读量:5855 次
发布时间:2019-06-19

本文共 1168 字,大约阅读时间需要 3 分钟。

参考 : http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html

 

上文结尾有提到一个说法

4. HttpRequest.Cookies 与 HttpResponse.Cookies 会有关系(很奇怪吧)。

微软官网也是这么说的 : https://msdn.microsoft.com/en-us/library/system.web.httprequest.cookies(v=vs.110).aspx

After you add a cookie by using the  collection, the cookie is immediately available in theHttpRequest.Cookies collection, even if the response has not been sent to the client.

 

这情况有时候会让我们有点混淆。所以我特别写了一篇来解释它.

首先我们要知道 

1.

var listx = Response.Cookies.AllKeys.ToList();  //empty listif (Response.Cookies["c"] != null){                                 }var list = Response.Cookies.AllKeys.ToList(); //["c"] got 1 data

即使我们只是读取,也是再创建 

 

2. httpRequest.cookie 的 expires 永远是 0001 年

 Response.Cookies["c"].Expires.Year == 1

 

回到真题

所以如果说我们想获取某些请求的cookie,我们可以使用 httpRequest.cookie['a'] 去拿,这时你当然有可能也会把response的一起拿出来, 这时我们需要过滤 

如果cookie.expires.year == 1 就表示他是request 而不是response, 除非你的response 也是year == 1 , ... 这哪里可能=.=" 

那么如果我们想要拿一个response则相反,我们去httpResponse拿,然后过滤 year != 1; 

当你的request和response 同时拥有一个同名的cookie时,你使用 request.cookie 和response.cookie 拿出来的cookie是不同的。

说的有点含糊,但是基本上测试一下就明白了。以后有空才写整齐版本.

 

转载于:https://www.cnblogs.com/keatkeat/p/4881429.html

你可能感兴趣的文章
UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理
查看>>
大数据公司Palantir融得7亿美元 曾追踪拉登
查看>>
建立备份策略的重要性
查看>>
发力IoT领域 Marvell注重生态系统发展
查看>>
你应该知道的 RPC 原理
查看>>
Ubuntu安装词典
查看>>
Spring解析
查看>>
RedHat6 管理应用服务【11】
查看>>
stm32F10x复习-1
查看>>
Linux命令操作大全
查看>>
从周五开始香港主机特别慢,香港主机用户有同感吗?
查看>>
Ember.js 3.9.0-beta.3 发布,JavaScript Web 应用开发框架
查看>>
python标准库00 学习准备
查看>>
4.2. PHP crypt()
查看>>
commonservice-config配置服务搭建
查看>>
连接池的意义及阿里Druid
查看>>
ComponentOne 2019V1火热来袭!全面支持 Visual Studio 2019——亮点之WinForm篇
查看>>
Python递归函数与匿名函数
查看>>
loadrunner安装运行一步一步来(多图)
查看>>
监控工具htop的安装及使用
查看>>