上次我们通过登录获取cookies的方式来解决身份未登录的问题,本期我们通过session的方式,原理为,通过创建session对象并进行一次登录,下次在登陆其他需要登录才能访问的页面时,通过session发送请求时,它会自带浏览器需要的认证信息,还是上一次的流程,我们直接看代码
# coding=gbk
import requests
# 为了数据剥离IP 写为常量
HOST = 'http://128.888.88.88:8888'
# 通过session直接发送请求
session = requests.session()
def login(data):
# 登录url
url = f'{HOST}/aa//login'
# 请求头
pass
# 请求体
payload = data
# 发送请求
resp = session.post(url=url, data=payload)
# 返回数据
return resp.cookies
class Lesslon:
def get_lesson(self,data):
# url
url = f'{HOST}/aaa/mm/sqqqq/'
payload = data
# 使用session 发送请求
resp = session.get(url, params=payload)
# 设置响应数据的编码
resp.encoding = 'unicode_escape'
print(resp.text)
if __name__ == '__main__':
login_data = {'uname': '8888', 'pwd': '8888'}
login(login_data)
# 列出课程
lesson_query_data = {'accion': 'bbbc'}
lesson =Lesslon()
lesson.get_lesson(data=lesson_query_data)