安装 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')