"""
项目接口使用token鉴权的处理方式:
    第一步:登录
    第二步:提取登录之后的token信息
    第三步:携带token,请求需要鉴权的接口,就可以通过鉴权
        token怎么传递要根据具体项目的要求去做

项目接口使用cookie+session来鉴权的处理方式:
    第一步:创建一个session对象
    第二步:使用session对象进行登录
    第三步:直接请求需要鉴权的接口

"""
import requests

# # 第一步:登录
# # 1.1 准备登录的数据
login_url = "http://api.keyou.site:8000/user/login/"
login_data = {
    "username": "musen001",
    "password": "lemonban1"
}
# 1.2、发送登录请求
response = requests.post(url=login_url, json=login_data)

# 1.3、获取服务器返回的数据
# print(response.json())

# 第二步 提取登录之后的token信息
token = response.json()["token"]

# 第三步,携带token请求,就可以通过鉴权
add_url = "http://api.keyou.site:8000/projects/"
add_data = {
    "name": "木森05",
    "leader": "lemonban",
    "tester": "木木木",
    "programmer": "zhang",
    "publish_app": "123",
    "desc": "jian"
}
headers = {
    "Authorization": "JWT " + token
}
response = requests.post(url=add_url, json=add_data, headers=headers)
print(response.json())

# ------cookie+session来鉴权的处理------
# 第一步:创建session对象:session对象会自动保存之前请求的cookie信息
session = requests.Session()

# 第二步:登录
url = "登录的地址"
data = "登录的参数"
response = session.post(url=url, json=data)

# 第三步:请求需要鉴权的接口
url2 = "需要鉴权的地址"
data2 = "接口的参数"
response2 = session.post(url=url2, json=data2)