(一):python http通信接口开发
文章目录
前言
需求背景来源于AI算法通信接口编写…采用python flask框架
解决flask不是生产环境问题
一、flask框架
1.1,简介
- Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
- Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
- Flask的基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行给该URL分配好的视图函数,获取函数的返回值并将其显示到浏览器上,其工作过程见图。 -
1.2,参数说明
- get 和 post的区别
二、使用步骤
1.引入库
代码如下(示例):
from flask import Flask, request, jsonify
import json
2.完整代码实现
服务端代码:
from flask import Flask, request, jsonify
import json
from gevent import pywsgi
# from settings import APP_PORT# 创建一个服务
app = Flask(__name__)# 创建一个接口 指定路由和请求方法 定义处理请求的函数@app.route(rule='/analysis/alarm_push/', methods=['POST'])defeverything():# 1.获取 JSON 格式的请求体 并解析拿到数据# if not request.data: # 检测是否有数据# return 'fail'
request_body = request.get_json()print('request_body:', request_body)print('request.data:', request.data)print(request.headers)return request.data
if __name__ =='__main__':# 启动服务 指定主机和端口
server = pywsgi.WSGIServer(('127.0.0.1',8807), app)print('server is running...')
server.serve_forever()
客户端代码:
最简洁的办法:利用postman工具编辑,然后可以自动生成代码
例如post推送图片
3.测试
3.1 请求测试
- pycharm的HTTP请求测试
- http文件内容如下
###9.test
POST http://127.0.0.1:8807/analysis/alarm_push/
Content-Type: application/json
{"data":"data"}
运行HTTP文件发送请求后服务端可以看到:
请求的响应:
- postman等工具进行测试
总结
现在人工智能应用越来越广泛,算法写好了,但要还要应用到实际工程上。这时候就需要算法和工程的对接,需要编写接口,实现启动算法、与平台信息交换等工作。本次python接口采用flask框架+postman工具可进行快速开发。记录总结学习…
版权归原作者 Darrenwhu 所有, 如有侵权,请联系我们删除。