领取资料,咨询答疑,请➕wei: June__Go
上一小节中我们学习了requests的auth认证方法,本小节我们学习一下requests的token认证。
token的来源:
当客户端多次向服务端请求数据时,服务端就需要多次从数据库中查询用户名和密码并进行对比,判断用户名和密码是否正确,并作出相应提示。但这样无疑会增加服务器端的运行压力,是否可以有一种方式只需要验证用户就是之前的用户而不需要每次在客户端请求数据时都需要查询数据库判断用户名和密码是否正确。在这种请求下,引入了token来解决服务器端多次访问数据库问题。
什么是token?
token是服务端端生成的一串字符串,作为客户端进行请求时辨别客户身份的的一个令牌。当用户第一次登录后,服务器生成一个Token便将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。
使用token的目的
Token的目的是为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
token的运用流程:
1、当用户首次登录成功之后, 服务器端就会生成一个 token 值,这个值,会在服务器保存token值(保存在数据库中),再将这个token值返回给客户端;
2、客户端拿到 token 值之后,进行保存 (保存位置由服务器端设置);
3、以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器.;
4、服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值进行比较;
5、如果两个 token 值相同, 说明用户登录成功过!当前用户处于登录状态;
6、如果没有这个 token 值, 没有登录成功;
7、如果 token 值不同: 说明原来的登录信息已经失效,让用户重新登录;
如下是一个简单的例子:
import requests
url = 'https://api.example.com/get_data'
token = 'your_token_here'
headers = {'Authorization': f'Token {token}'}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
在这个例子中,我们创建了一个请求头headers,并将token添加到Authorization字段中,然后发送了一个GET请求。requests.get函数返回一个response对象,可以用它来获取响应的数据。
实际使用时,需要根据API的要求添加相应的HTTP方法和请求数据,同时需要替换url和token参数为实际值。由于不同的API可能需要不同的参数或其他设置,请根据具体情况进行调整。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei: June__Go