python http通信接口开发示例
作者:Darrenwhu 发布时间:2022-06-07 05:15:29
前言
需求背景来源于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'])
def everything():
# 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等工具进行测试
来源:https://blog.csdn.net/qq_44725633/article/details/124046010


猜你喜欢
- list count统计个数实现在python数组中统计某个数字出现的次数。。。。。count_num = 3lst = [1,2,3,4,
- 两年前在 B 站上看到了一个宝藏 up 主,名叫 "Jannchie见齐",专门做动态条形图样式的数据可视化。做出的效果
- 使用循环神经网络(RNN)实现影评情感分类作为对循环神经网络的实践,我用循环神经网络做了个影评情感的分类,即判断影评的感 * 彩是正面的,还是
- pandas DataFrame数据遍历读取csv内容,格式与数据类型如下data = pd.read_csv('save\LH88
- 如下所示:>>> item={} ; items=[] #先声明一个字典和一个列表,字典用来添加到列表里面&g
- 下面是出现的错误解释RuntimeError: An attempt ha
- 在python命令行模式下,在IDLE中输入多行,例如if else使用tab的方式,控制缩进在最后,连续两个回车,表示结束&g
- 前言大家都知道其实学习Django非常简单,几乎不用花什么精力就可以入门了。配置一个url,分给一个函数处理它,返回response,几乎都
- 热力图热力图(Heat Map)是指用 X 轴 和 Y 轴 表示的两个分类字段确定数值点的位置,通过相应位置的矩形颜色去表现数值的大小,颜色
- Python自带的 functools 模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数。换言之,就是能使用该模块对可调用对象
- 本文实例讲述了python简单实现基于SSL的 IRC bot。分享给大家供大家参考。具体如下:#!/usr/bin/python# -*-
- 直接上代码了import smtplibmsg = MIMEMultipart()#构造附件1att1 = MIMEText(open(
- Seaborn - 绘制多标签的混淆矩阵、召回、精准、F1导入seaborn\matplotlib\scipy\sklearn等包:impo
- Javascript刷新页面的几种方法: 1. history.go(0) 2. location.reload() 3. location
- 很久没有更新blog了,这段时间实在是发生了很多的事,累身累心。但还是有很多想做的事,比如更新merceCSS、把一直以来所总结的有关模块化
- 学习复杂代码的最好方法是简化:(function(win, undefined) { var jQuery = f
- 在官网下载python和pycharm的安装包python: https://www.python.org/downloads/window
- 这篇文章主要介绍了简单了解Django ORM常用字段类型及参数配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类(异常值检
- 实现SQL Server 原生数据从XML生成JSON数据的实例代码 SQL Server 是关系数据库,查询结果通