什么是代理
使用代理之前
title 客户端服务端交互
scale 200 width
scale 400 height
autonumber
participant 客户端 as client
participant 服务端 as server
client -> server: 发起请求
server -> client: 返回响应
使用代理之后
scale 200 width
scale 700 height
autonumber
participant 客户端 as client
participant 代理 as proxy
participant 服务端 as server
client -> proxy: 发起请求
proxy -> server: 转发请求
server -> proxy: 返回响应
proxy -> client: 转发响应
代理在接口自动化的使用场景
- 测试脚本,更直观的排查请求错误,相当于编写代码时的 debug
- 获取没有错误的,真实的接口请求响应信息
- 通过代理获取自动化测试的请求响应
- 对比两次请求响应的区别
Requests 如何使用代理
Requests 代理
通过 proxies 参数,监听请求与响应信息
如何使用
- 设定代理格式
- 通过 proxies 参数传递代理设置
- 开启代理工具监听请求
def test_proxy(self):
# 定义一个代理的配置信息,key值为协议,value为代理工具的配置
proxies = {
"http": "127.0.0.1:8888",
"https": "127.0.0.1:8888"
}
# 通过proxies传递代理配置,证书认证失败加verify=False
r = requests.post("https://httpbin.ceshiren.com/post", proxies=proxies, verify=False)
print(r.json())
def test_proxy_json(self):
proxies = {
"http": "127.0.0.1:8888",
"https": "127.0.0.1:8888"
}
data = {
"school": "hogwarts"
}
r = requests.post("https://httpbin.ceshiren.com/post", json=data, proxies=proxies, verify=False)
print(r.json())