美文网首页
Requests 模块基本操作:鉴权

Requests 模块基本操作:鉴权

作者: 成功在于实践 | 来源:发表于2020-08-10 09:10 被阅读0次

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

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

    相关文章

      网友评论

          本文标题:Requests 模块基本操作:鉴权

          本文链接:https://www.haomeiwen.com/subject/zrildktx.html