Requests 模块基本操作

用户头像
骆俊
关注
发布于: 2020 年 08 月 09 日

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 提供了便捷的处理方法



封装鉴权方法后,只需要指定身份信息即可



用户头像

骆俊

关注

我的目标是能够进大厂与那些优秀的人拼一拼 2017.11.30 加入

还未添加个人简介

评论

发布
暂无评论
Requests模块基本操作