利用cookie实现登陆知网与抽屉网 基于session自动登录抽屉网 cookie与session区别
将利用cookie实现登陆知网、抽屉网 和 基于session自动登录抽屉网 写在一起,主要是这样更利于比较session和cookie二者的差别
利用cookie实现登陆知网与抽屉网
Cookie:小蛋糕,饼干
特点1. 用于存储用户的某些信息(不包含隐私信息)
2. 只用于存储少量数据
3. cookie是个文件,位于浏览器
4. cookie有生命周期,一旦网页退出,cookie就失效了
1. 如果网站登录的时候需要写验证码,可以考虑通过cookie直接登录
例如:知乎网
注意:cookie需要手动登录以后再粘贴,粘贴的是登录进去之后的cookie
例子:模拟cookie登录知乎
打开1.html文件可自动实现登录,但前提是必须手动登录进去知乎网站基于session自动登录抽屉网
例如:抽屉网
注意:它的cookie是通过代码自动获取的
例子:模拟cookie登录抽屉网
抽屉网的登录逻辑(其它网站不适用)
1. 先获取在首页服务器自动返回的cookie,因为它是用户的凭证
2. 开始登录(要携带上第一步的cookie)
3. 开始点赞/评论......
url = "http://dig.chouti.com/" # 通过浏览器获取的操作一般都是get请求 response = requests.get(url,headers={# "User-Agent": RandomAgent.rand()"User-Agent": agent.random} ) #将cookies转换为字典形式 cookies = response.cookies.get_dict()
开始登录(要携带上第一步的cookie)
#开始登录(要携带上第一步的cookie) #在打开到查看元素的网络,清除所有信息,然后点登陆按钮,点开第一个post请求,然后将右边的请求网址复制过来当做url url = "http://dig.chouti.com/login" response = requests.post(url,#在参数里可查看到data={"phone": "8615896901897","password": "qweqweqwe1","oneMonth": "1",},headers={"User-Agent": agent.random,},cookies=cookies, )开始点赞/评论......
#同上述方法获得url url = "http://dig.chouti.com/link/vote?linksId=17717073" response = requests.post(url,headers={"User-Agent": agent.random,},cookies=cookies, ) print(response.text)抽屉网登录时:
1. 第一次访问首页的时候 服务器 返回一个cookie
2. 携带1的cookie进行登录,服务器 返回另一个cookie,所以在登录与开始点赞/评论过程中,只能用第一次访问首页时返回的cookie,不能用之后的cookie 基于session自动登录抽屉网
import requests
from fake_useragent import UserAgent
agent = UserAgent()如果通过session发请求,会自动携带cookie
session = requests.session()
获取首页
s1 = session.get("http://dig.chouti.com/", headers={"User-Agent": agent.random})模拟登录
s2 = session.post("http://dig.chouti.com/login", data={"phone": "8615896901897","password": "qweqweqwe1","oneMonth": "1",}, headers={"User-Agent": agent.random})开始点赞/评论
s3 = session.post("http://dig.chouti.com/link/vote?linksId=17717071",headers={"User-Agent": agent.random}) print(s3.text)cookie和session的区别:
cookie | session |
| 1.cookie存储在浏览器\客户端 | session存储在服务器 |
| 2.cookie不适合存储私密数据,不安全,可以通过手段获取客户端保留的cookie信息 | 因为session是存储在服务器端的,相对比cookie更加安全 |
| 3.cookie一般用来存储少量数据 例如:状态登录/历史记录 | 因为session存储在服务器中,所以存储数据的大小理论上没有限制 |
cookie和session是共存亡的关系
如果一个网站禁用了cookie,但是还可以保留登录状态,一般会在参数中携带一个sessionId参数,用来跟踪回话,保留状态
总结
以上是生活随笔为你收集整理的利用cookie实现登陆知网与抽屉网 基于session自动登录抽屉网 cookie与session区别的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Multi-scale Interact
- 下一篇: WRF报错记录