发布: 更新时间:2022-08-27 23:54:23
简介:工程师 针对 http协议是无连接、无状态特性,设计的一种技术。 可以在浏览器端存储用户的信息。
特性:
简介:也叫会话。通常出现在网络通信中,从客户端借助访问终端登录上服务器,直到退出登录所产生的通信数据,保存在会话中。
特性:
在计算机中,认证用户身份的方式有多种!
第一种:token认证。(常用于接口,身份令牌)
第二种:cookie+Session认证。(常用于登录认证)
1、客户端第一次访问服务器时,在服务器生成一个session的键值对信息。session-id(key)和session-对象(value)
在服务器返回响应时,携带上session-id,存放在客户端本地的cookie中。
2、在客户端发起登录时,带上cookie(里面存放的有session-id信息)。当登录成功后,在session-id对应的session-对象中存放此用户的user-id
3、在之后的访问中,每次都携带上session-id,去检查session-id的session-对象中,是否有user-id。如果有代表已经登录成功,直接显示登录后的页面。如果没有,说明没有登录,显示登录页面
import requests
# 发送获取验证码请求
resp_v = requests.get(url="http://tpshop-test.itheima.net/index.php? m=Home&c=User&a=verify&r=0.21519623710645064")
# 从获取验证码的响应结果,提取cookie
my_cookie = resp_v.cookies
# 发送登录请求url、请求头、请求体。 携带 cookie。 得响应结果
resp = requests.post(url="http://tpshop-test.itheima.net/index.php? m=Home&c=User&a=do_login&t=0.7094195931397276",
# headers={"Content-Type": "application/x-www-form-urlencoded"}, 可以不写,data或json已经指明了请求体格式
data={"username": "13012345678", "password": "12345678", "verify_code": "8888"}, cookies=my_cookie)
# 打印响应结果
print(resp.json())
# 发送查看我的订单请求
resp_o = requests.get(url="http://tpshop-test.itheima.net/Home/Order/order_list.html", cookies=my_cookie)
cookie+session 是实现认证的一种非常好的方式,但是凡事都有两面性,它们实现的认证主要有以下缺点:
那么为了避免这些缺点,token 方式的鉴权出现了,它可以说是一个民间的认证方式,但是不得不说它带来了非常多的好处。
先看下面两个token身份令牌。应该就能有个理解
token 其实就是一串字符串而已,只不过它是被加密后的字符串,它通常使用 uid(用户唯一标识)、时间戳、签名以及一些其它参数加密而成。我们将 token 进行解密就可以拿到诸如 uid 这类的信息,然后通过 uid 来进行接下来的鉴权操作。
标签:cookie, session, token, 身份认证, 鉴权原神3.8心海武器推荐 原神3.8心海带什么武器
阴阳师寻迹骰怎么获得 阴阳师寻迹骰获得方法
王者荣耀妄想都市观光怎么获得 王者荣耀妄想都市观光活动
阴阳师新召唤屋和幕间皮肤效果怎么样 阴阳师新召唤屋和幕间皮肤获取方法介绍
羊了个羊7.26攻略 羊了个羊7月26日怎么过
崩坏星穹铁道求不得成就攻略介绍 崩坏星穹铁道求不得成就怎么获得
崩坏星穹铁道去吧阿刃成就攻略介绍 崩坏星穹铁道去吧阿刃成就怎么获得
时空中的绘旅人罗夏生日有什么复刻 绘旅人罗夏生日礼包复刻一览
银河境界线武器强度怎么看 银河境界线武器强度排行攻略
阴阳师红蛋蛋限时福利怎么获得 阴阳师再结前缘版本福利介绍