python http通信接口开发示例

作者:Darrenwhu 时间:2022-06-07 05:15:29 

前言

需求背景来源于AI算法通信接口编写…采用python flask框架 解决flask不是生产环境问题

一、flask框架

1.1,简介

python http通信接口开发示例

  • Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

  • Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

  • Flask的基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行给该URL分配好的视图函数,获取函数的返回值并将其显示到浏览器上,其工作过程见图。

python http通信接口开发示例

1.2,参数说明 get 和 post的区别

python http通信接口开发示例

二、使用步骤

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推送图片

python http通信接口开发示例

3.测试

3.1 请求测试

pycharm的HTTP请求测试

python http通信接口开发示例

http文件内容如下

###9.test
POST http://127.0.0.1:8807/analysis/alarm_push/
Content-Type: application/json
{
 "data": "data"
}

运行HTTP文件发送请求后服务端可以看到:

python http通信接口开发示例

请求的响应:

python http通信接口开发示例

postman等工具进行测试

来源:https://blog.csdn.net/qq_44725633/article/details/124046010

标签:python,http,通信接口
0
投稿

猜你喜欢

  • MySQL left join操作中on和where放置条件的区别介绍

    2024-01-19 14:10:06
  • Python简单实现子网掩码转换的方法

    2021-10-10 21:40:30
  • javascript修改图片src的方法

    2024-04-17 10:40:29
  • SqlServer 获取字符串中小写字母的sql语句

    2024-01-21 03:34:53
  • Python获取指定文件夹下的文件名的方法

    2022-04-26 03:10:03
  • Python图像处理之使用OpenCV检测对象颜色

    2023-05-20 01:00:18
  • JavaScript实现简单图片轮播效果

    2024-04-22 13:02:05
  • MySQL创建用户与授权方法

    2024-01-19 02:43:55
  • JS实现不规则TAB选项卡效果代码

    2024-06-20 03:54:32
  • PHP中怎样防止SQL注入分析

    2023-08-16 04:45:35
  • 如何基于python对接钉钉并获取access_token

    2023-11-27 04:25:07
  • 基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解

    2023-04-09 17:28:45
  • uniapp小程序实战之利用腾讯地图获取定位

    2024-04-16 09:49:44
  • go语言环境搭建简述

    2024-05-22 10:12:57
  • Scrapy-Redis结合POST请求获取数据的方法示例

    2023-08-25 06:31:56
  • python定时任务timeloop库用法实例详解

    2023-12-21 19:34:53
  • python pandas读取csv后,获取列标签的方法

    2022-01-14 22:35:30
  • 两个css郁闷的发现

    2007-12-16 15:31:00
  • Python基于pandas实现json格式转换成dataframe的方法

    2021-08-23 23:09:01
  • ORACLE11g随RHEL5系统自动启动与关闭的设置方法

    2009-08-31 12:43:00
  • asp之家 网络编程 m.aspxhome.com