python http通信接口开发示例

 更新时间:2023年04月30日 11:51:46   作者:Darrenwhu  
本文主要介绍了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'])
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等工具进行测试

总结

现在人工智能应用越来越广泛,算法写好了,但要还要应用到实际工程上。这时候就需要算法和工程的对接,需要编写接口,实现启动算法、与平台信息交换等工作。本次python接口采用flask框架+postman工具可进行快速开发。

到此这篇关于python http通信接口开发示例的文章就介绍到这了,更多相关python http通信接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python logging模块的使用

    python logging模块的使用

    这篇文章主要介绍了python logging模块的使用,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • Python实现的ftp服务器功能详解【附源码下载】

    Python实现的ftp服务器功能详解【附源码下载】

    这篇文章主要介绍了Python实现的ftp服务器功能,结合实例形式分析了Python构建ftp服务器功能的相关设置、实现技巧与操作注意事项,并附带源码供读者下载参考,需要的朋友可以参考下
    2019-06-06
  • python使用PyQt5的简单方法

    python使用PyQt5的简单方法

    这篇文章主要介绍了python使用PyQt5的简单方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • Python类super()及私有属性原理解析

    Python类super()及私有属性原理解析

    这篇文章主要介绍了Python类super()及私有属性原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 详解python中的hashlib模块的使用

    详解python中的hashlib模块的使用

    这篇文章主要介绍了python中的hashlib模块的使用,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-04-04
  • OpenCV:imwrite函数保存图片问题

    OpenCV:imwrite函数保存图片问题

    这篇文章主要介绍了关于OpenCV:imwrite函数保存图片问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • python插入数据到列表的方法

    python插入数据到列表的方法

    这篇文章主要介绍了python插入数据到列表的方法,涉及Python中insert方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python jieba结巴分词原理及用法解析

    Python jieba结巴分词原理及用法解析

    这篇文章主要介绍了Python jieba结巴分词原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python中三种命令行参数利用方式详解

    Python中三种命令行参数利用方式详解

    Python的命令行参数,提供了很多有用的功能,可以方便调试和运行,这篇文章主要给大家介绍了关于Python中三种命令行参数利用方式的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Python随机生成均匀分布在三角形内或者任意多边形内的点

    Python随机生成均匀分布在三角形内或者任意多边形内的点

    这篇文章主要为大家详细介绍了Python随机生成均匀分布在三角形内或者任意多边形内的点,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12

最新评论