利用flask mock接口

安装 flask:

  pip install flask

简单请求demo

后端接收脚本

# 利用flask 编写一个简单的接口
from flask import Flask

# 导入 request 处理请求 requests是用于发送请求的
from flask import request


# 实例化一个web服务对象
app = Flask(__name__)


# 创建一个方法来处理请求 不指定请求方法的时候 默认接收get请求
# 定义一个路由 -- 访问服务的根目录就可以得到结果
@app.route('/')
def hello():

return '<h1>hello flask</h1>'



@app.route('/post',methods=['POST'])
def test_post():

# 提示数据 键值对格式
d1 = request.form['d1']
d2 = request.form['d2']
return d1 + d2


if __name__ == '__main__':

# 运行并确定服务运行的ip和端口
app.run('127.0.0.1','9090')

请求脚本

# 理由requests发送请求给服务端
import requests

# 定义post 发送数据
body = {
'd1': 'hello,',
'd2': 'flask'
}

# 发送post请求 加入请求体
res = requests.post('http://127.0.0.1:9090/post',data=body)

print(res.text)

Demo

请求脚本

import requests


body = {
"out_trade_no": "20150320010101001",
"auth_code": "287634438256643941",
"buyer_id": "2088202954065786",
"seller_id": "2088102146225135",
"subject": "Iphone6 16G",
"total_amount": "88.88,"
}

# 请求头 键:Content-Type 值:application/json
# 请求头因为是json 格式 所以就不需要指定请求头 直接json赋值

# 请求路径:
res = requests.post('http://127.0.0.1:9090/trade/purchase', json=body)

# 打印响应 如果响应是json格式的话需要转化一下
print(res.json())

后端接收脚本

# 利用flask 编写一个简单的接口
from flask import Flask

# 导入 request 处理请求 requests是用于发送请求的
from flask import request
import json
import time
import random

# 实例化一个web服务对象
app = Flask(__name__)


# 处理极简交易接口
@app.route('/trade/purchase',methods=['POST'])
def purchase():

# 拿到客户端返回的数据
# 获取json格式 request.get_data():返回的是二进制格式 所以需要 json 来转化一下
res = json.loads(request.get_data())

# 提取数据
out_trade_no = res['out_trade_no']

# 获取授权码
auth_code = res['auth_code']


data = {
'ceod': '400004',
'msg': 'business failed',
'sub_code': 'ACQ.TRADE_HAS_SUCCESS',
'sub_msg': '交易已被支付',
'trade_no': '306006251561561878976518897120',
'out_trade_no': '333150320010101001'
}
# 把out_trade_no 改成客户端发送过来的数据
# 自动把我们的响应修改成客户端发送过来的订单号 有的时候订单号是动态生成的
data['out_trade_no'] = out_trade_no

# 生成订单时间
data['trade_no'] = time.strftime('%Y%m%d%H%M%S')+str(random.random()).replace('.0','')

# 验证请求码
if auth_code != '287634438256643941':
return {'code': '500', 'msg': '请求码验证失败'}

return data



if __name__ == '__main__':

# 运行并确定服务运行的ip和端口
app.run('127.0.0.1','9090')

 

原文地址:https://www.cnblogs.com/sunzzc/p/13416348.html