发布: 更新时间: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 来进行接下来的鉴权操作。
原神3.8心海武器推荐 原神3.8心海带什么武器
阴阳师寻迹骰怎么获得 阴阳师寻迹骰获得方法
王者荣耀妄想都市观光怎么获得 王者荣耀妄想都市观光活动
阴阳师新召唤屋和幕间皮肤效果怎么样 阴阳师新召唤屋和幕间皮肤获取方法介绍
羊了个羊7.26攻略 羊了个羊7月26日怎么过
崩坏星穹铁道求不得成就攻略介绍 崩坏星穹铁道求不得成就怎么获得
崩坏星穹铁道去吧阿刃成就攻略介绍 崩坏星穹铁道去吧阿刃成就怎么获得
时空中的绘旅人罗夏生日有什么复刻 绘旅人罗夏生日礼包复刻一览
银河境界线武器强度怎么看 银河境界线武器强度排行攻略
阴阳师红蛋蛋限时福利怎么获得 阴阳师再结前缘版本福利介绍