zoukankan      html  css  js  c++  java
  • 利用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')

     

  • 相关阅读:
    How To Scan QRCode For UWP (4)
    How To Crop Bitmap For UWP
    How To Scan QRCode For UWP (3)
    How To Scan QRCode For UWP (2)
    How To Scan QRCode For UWP (1)
    How to change windows applicatioin's position via Win32 API
    8 Ways to Become a Better Coder
    How to resize or create a thumbnail image from file stream on UWP
    C# winform压缩文件夹带进度条
    MS ACCESS MID函数
  • 原文地址:https://www.cnblogs.com/sunzzc/p/13416348.html
Copyright © 2011-2022 走看看