1. 指定Cookie 实现鉴权
Cookie是储存在客户端的一串字符,一般说来大小不超过4kb,当客 户端发送请求时,将其放入请求头中,发送给服务器 做比如我们常见的记住密码功能,或者一些基于之前输入的提醒和默 认配置,就是通过Cookie来实现的
代码示例 :
# Requests指定Cookie
import requests.cookies
url = "xxxxxxxxxxxxxx"
cookies = requests.cookies.RequestsCookieJar()
cookies.set('sessionidxx', 'xxxxxxxxxxx', )
r = requests.get(url, cookies=cookies)
print(r.text)
2. 指定请求头 实现鉴权
在身份验证中,当用户使用其凭据成功登录时,将返回JSON Web Token。每当用户想要访问受保护的路由或资源时,通常在 Authorization标头中发送JWT。
请求头的的内容应如下所示:
Authorization: Bearer ${token}
代码示例:
# Requests指定Token
url= "xxxxxxxxxxxxxxx"
headers = {
"Authorization": "xxxxxxxxxxxxxxxxxxxxxx"
}
r = requests.get(url, headers =headers)
print(r.text)
3. 将认证方法进行封装
代码示例:
封装Token验证方法
class TokenAuth(AuthBase):
def __init__(self, token):
self.token = token
def __call__(self, r):
r.headers['Authorization'] = "Token " + self.token
return r
r = requests.get(url, auth=TokenAuth("xxxxxxxxxx"))
class SessionAuth(AuthBase):
def __init__(self, session_id):
self.session_id = session_id
def __call__(self, r):
r.headers.pop("Cookie","xxxxxxxxxxx")
r._cookies.set("sessionid", self.session_id)
r.prepare_cookies(r._cookies)
return r
常见的鉴权方式 ,是将身份信息放入请求头
Requests 对Cookie 提供了便捷的处理方法
封装鉴权方法后,只需要指定身份信息即可
网友评论