request原理:
前端发送请求参数(url、请求方式、json、data等) 通过python-requests库发送请求至服务器,服务器接受请求后返回结果
接口测试需要检查返回接口结果与前端定义的是否一致
# 以百度为例子
#导入requests
import requests
# 获取get请求参数
res = requests.get(url='http//:www.baidu.com/')
# 获取返回url
res.url
# 获取返回状态
res.status_code
# 获取返回headers
res.headers
# 获取返回文本
res.txt
# 获取返回二进制
res.content
# 获取返回cookies
res.cookis
# 获取返回编码方式
res.encoding
# request 修改headers、cookis、txt、编码方式
#以headers为例,先定义headers的编码方式
# 当我们从页面获取的页面内容为乱码时,可以通过修改html页面的encoding去修改页面的编码方式
url = 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2022-03-17&leftTicketDTO.from_station=SHH&leftTicketDTO.to_station=NNZ&purpose_codes=ADULT'
# 获取12306查询接口
res = requests.get(url=url)
# 修改html的编码方式
res.encoding = 'utf-8'
# 打印html页面的内容
print(res.text)
# 如果返回内容为乱码,可以先转换为utf-8再进行解码成中文编码
res.text.encode('utf-8').decode('unicode_escape')
# 有些网站访问时超时,有时候需要我们设置演示,timeout,如下访问网站时延时2秒
res = requests.get(url=url, timeout=2)