Python-302接口重定向处理(跟随重定向)

import requests

class OpenAdmin_Auth_Ticket(object):
    def get_cookie(self,url):
        res = requests.get(url).cookies
        return {"Cookie":"SESSION=%s" %res["SESSION"]}

    def get_login(self,url, params, headers):
        res = requests.post(url, data=params, headers=headers, allow_redirects=False) #敲重点 跟随重定向 allow_redirects=False
        return res.headers["Location"]

    def get_openadmin_auth(self,url):
        res = requests.get(url, allow_redirects=False) #敲重点 跟随重定向 allow_redirects=False
        JSESSIONID = res.cookies["JSESSIONID"]
        MAS_AUTH_TICKET = res.cookies["MAS_AUTH_TICKET"]
        cookie = {"Cookie": "JSESSIONID=%s;MAS_AUTH_TICKET=%s" % (JSESSIONID, MAS_AUTH_TICKET)}
        return cookie

    def get_admin_get(self,url, headers):
        res = requests.get(url, headers=headers)
        return res.json()

if __name__ == "__main__":
    get_auth = OpenAdmin_Auth_Ticket()

    #获取后续操作的授权JSESSIONID和MAS_AUTH_TICKET
    iflow_url = "重定向URL"
    params = {
        "username": "test1",
        "password": "a123456"
    }

    location = get_auth.get_openadmin_auth(get_auth.get_login(iflow_url,params,get_auth.get_cookie(iflow_url)))

    # 获取登录用户信息接口
    url = "获取用户信息的URL"
    print(get_auth.get_admin_get(url,location))

 

posted @ 2021-04-22 17:40  小哈别闹  阅读(1054)  评论(0编辑  收藏  举报