1、有一些请求之间是有关联的,这个时候就需要用到cookie来帮助我们完成请求。比如说我们的接口有一个这样的场景:登录之后充值,必须登录成功才能给账户进行充值。
登录地址: http://test.lemonban.com/futureloan/mvc/api/member/login
登录参数:{‘mobilephone’: ‘18688773465’, ‘pwd’: ‘123456’}
充值地址:http://test.lemonban.com/futureloan/mvc/api/member/recharge
充值参数:{‘mobilephone’: ‘18688773465’, ‘amount’: ‘100’}
示范代码如下所示:
import requests
url = ' http://test.lemonban.com/futureloan/mvc/api/member/login'
param = {'mobilephone': '18688773465', 'pwd': '123456'}
recharge_url = 'http://test.lemonban.com/futureloan/mvc/api/member/recharge'
recharge_param = {'mobilephone': '18688773465', 'amount': '100'}
# 登录
res = requests.get(url, param)
print("请求结果是---------:", res.json())
# 充值
res_recharge = requests.get(recharge_url, recharge_param, cookies=res.cookies)
print("充值结果是:----------:", res_recharge.json())
运行代码后,运行结果如下所示:
2、发送带定制头的请求
我们通过python向服务器发起请求时,可能会被拒绝,所以我们需要伪装一下才能通过请求,但是添加header只是简单的伪装术,对应反扒网站,我们需要学习更加高级的伪装技术,我们通过python伪装成Firefox来向服务器发起请求。
示范代码如下所示:
import requests
url = ' http://test.lemonban.com/futureloan/mvc/api/member/login'
param = {'mobilephone': '18688773465', 'pwd': '123456'}
headers = {'User-Agent': 'Mozilla/5.0'}
# 登录
res = requests.get(url, param, headers=headers)
print("请求结果是---------:", res.json())
print("请求头是---------:", res.request.headers)
运行代码后,运行结果如下所示:
感兴趣的可以戳一下, requests之get请求系列
1、python requests完成接口请求
2、requests之get请求带参数示例详解
3、requests之get发送带cookie的请求
4、jmeter完成注册、登录、充值接口项目测试