cookies有何用处?与session有什么区别?详情请查看:https://blog.csdn.net/xxlovesht/article/details/80918151
cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。
session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。
注:为这个用户创建的Cookie的名称是aspsessionid。这个Cookie的唯一目的就是为每一个用户提供不同的身份认证。
cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。
cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。
一、获取cookie
二、使用cookie
(1)在get或者post请求直接添加cookies,只需要添加cookies的name和value值,添加的cookie为字典模式
cookie={
name:value
}
url="XXXXXXXXXXXX"#只有登录成功才能查看的网址
s = requests.session()
re=s.get(url=url,cookies=cookie)
(2)headers中添加cookie
headers = {
'User-Agent':'xxxxxxxxxxxxxx',
'cookie':'sid=xxxxxxx'
}
response = requests.post(url,data=data,headers=headers)
以下为慕课网通过selenium登录成功后,获取cookie保存至muke.json文件,通过读取文件添加cookie
以慕课网为例,以下为慕课网cookie文件内容:
实现登录代码如下:
url="https://m.imocc.com/password/user/login"
dict_cookie={}
with open("d:/muke.json",'r',encoding="utf-") as f:
cookies=json.loads(f.read())
for i in cookies:
if i['name']=="apsid":
dict_cookie=i
cookie={
dict_cookie['name']:dict_cookie['value']
}
url="https://www.imooc.com/u/index/follows"
s = requests.session()
re=s.get(url=url,cookies=cookie)
print (re.text)