1 """
2 什么是cookie鉴权:
3 登录接口响应头当中,有set-cookie
4 在登录之后其他业务请求当中,请求头会带上登录繁华的cookie
5 什么是token鉴权:
6 token值 一般都是放在登录接口的响应数据当中,需要提取出来
7 在登录之后其他业务的请求当中,可能是在请求头当中带上token。也可能是在请求体当中带上token,看接口的开发如何定义
8
9 接口请求:
10 请求地址:
11 请求方法:
12 请求数据:
13
14 post请求:4种格式(content-type)
15 1、application/x-www-from-urlencode
16 2、application/json
17 3、mulitipart/form-data
18 4、xml
19 5、......
20 """
21 # token.py
22 import requests
23
24 # 拿到通行证 - 令牌
25 # 登陆
26 url = "https://openapiv5.ketangpai.com/UserApi/login"
27 req_data = {"email":"xx",
28 "password":"xx",
29 "remember":"0",
30 "code":"",
31 "mobile":"",
32 "type":"login"}
33
34 resp = requests.post(url, json=req_data)
35 resp_dict = resp.json()
36 token = resp_dict["data"]["token"]
37 print(token)
38
39 url2 = "https://openapiv5.ketangpai.com/CourseApi/semesterList"
40 req_data2 = {"isstudy":"0","search":""}
41 req_header = {"token": token}
42 resp2 = requests.post(url2,json=req_data2, headers=req_header)
43 print(resp2.json())
44
45 # session
46 """
47 Request:请求
48 Response: 响应
49
50 http请求库:requests
51
52 安装:pip install requests
53
54 session鉴权
55 Session类 - 自动带上cookies
56 1、实例化Session类
57 token鉴权
58 get,post...
59 加密处理。。
60
61
62 get:params参数:支持字典类型。与请求url拼接的参数
63 post:
64 data参数,支持字典类型。默认它的content-type是applicaiton/x-www-form-urlencode
65 其它的conten-type都可以使用data参数,但是data参数的值就不是字典了,然后在请求头当中指定content-type
66 json参数,字典类型。默认它的content-type是application/json
67 """
# session.py
68 import requests
69
70 # 实例化一个会话对象
71 s = requests.Session()
72
73 # 发起登陆请求
74 url = "https://v4.ketangpai.com/UserApi/login"
75 req_data = {
76 "email": "xx",
77 "password": "xx",
78 "remember": "0"
79 }
80 # 登陆请求
81 s.post(url, data=req_data)
82
83 # 发起下一个请求
84 url2 = "https://v4.ketangpai.com/VipApi/isVip"
85 resp = s.get(url2)
86
87 print(resp)
88 # 获取响应状态码
89 print(resp.status_code)
90 # 响应数据 - 如果接口的响应数据是json格式 ,可以用这个方法。这个方法执行后的结果,是一个字典。
91 print(resp.json())
92 # 响应头
93 # print(resp.headers)
94 # 响应的cookies
95 print(resp.cookies)