如何获取request请求携带的cookie

Posted

tags:

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

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

Scrapy模拟登陆

1. 为什么需要模拟登陆?

#获取cookie,能够爬取登陆后的页面

2. 回顾: requests是如何模拟登陆的?

#1、直接携带cookies请求页面

#2、找接口发送post请求存储cookie

3. selenium是如何模拟登陆的? 

#找到对应的input标签,输入文字点击登录

4. 那么对于scrapy来说,也是有两个方法模拟登陆
 
# 1、直接携带cookie 

# 2、找到发送post请求的url地址,带上信息,发送请求

1. scrapy模拟登陆之携带cookie

应用场景:
	1、cookie过期时间很长,常见于一些不规范的网站
	2、能在cookie过期之前把搜有的数据拿到
	3、配合其他程序使用,比如其使用selenium把登陆之后的cookie获取到保存到本地,scrapy发送请求之前先读取本地cookie

技术图片

 

 技术图片

 

 2. scrapy模拟登陆之cookie传递

技术图片

 

 3. scrapy模拟登陆之发送post请求

技术图片

 

 4. scrapy模拟登陆之自动登录

技术图片

以上是关于如何获取request请求携带的cookie的主要内容,如果未能解决你的问题,请参考以下文章

Scrapy模拟登陆

如何配置跨域请求携带cookie

跨域请求如何携带cookie?不小心都拿了Offer

前端跨域请求如何携带cookie?

如何修改request header 或者携带cookies

python 模拟带cookie的put 请求,返回500怎么解决?