(一):python http通信接口开发


文章目录

  • (一):python http通信接口开发
  • 前言
  • 一、flask框架
    • 1.1,简介
    • 1.2,参数说明
  • 二、使用步骤
    • 1.引入库
    • 2.完整代码实现
    • 3.测试
      • 3.1 请求测试
  • 总结

前言

需求背景来源于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.dataif __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通信接口开发相关推荐

  1. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...

  2. 《Python 3程序开发指南(第2版•修订版)》——1.2 Python的关键要素

    本节书摘来自异步社区<Python 3程序开发指南(第2版•修订版)>一书中的第1章,第1.2节,作者[英]Mark Summerfield,王弘博,孙传庆 译,更多章节内容可以访问云栖社 ...

  3. python图形用户界面设计报告_19.1 Python图形用户界面开发工具包

    ,赠送一本"Python相关图书".咨询方式:加[51CTO-关老师付费群]523714201 验证消息:咨询赠书 本视频采用**Python 3.X版 本书是智捷课堂开发的立体化 ...

  4. pythonweb开发-如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...

  5. python利器手机版-将安卓手机打造成你的python全栈开发利器

    超神利器- 相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具,但因为一次简单的爬虫让我对它失望之极.Qpython不支持lxml这个模块,然而pyt ...

  6. python简单编程例子-中文方便就用中文编程!Python图形界面开发实例

    原标题:中文方便就用中文编程!Python图形界面开发实例 之前做的一个Python小程序,功能很简单,面对用户群也很窄,是五笔编码编.校人员使用的五笔编码编辑器. 这样的"周末" ...

  7. 不是python中用于开发用户界面的第三方库-模拟试卷C

    原标题:模拟试卷C 一.单项选择题 1. 按照"后进先出"原则组织数据的数据结构是____ 队列 栈 双向链表 二叉树 2. 以下选项的叙述中,正确的是 循环队列有队头和队尾两个指 ...

  8. 不是python中用于开发用户界面的第三方库-python界面 | Tkinter图形界面开发库

    0 写在前面 未经允许,不得转载,谢谢~~ 毕设要在现有的基础上做一个可视化的界面,所以趁机也学习一波如何用python实现图形界面的开发. 本文主要学习并整理了: 简要介绍用于python图形界面开 ...

  9. python界面开发工具-python图形界面开发用什么

    作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助. Python 的 UI 开发工具包 Kivy(推荐学习:Python视频教 ...

  10. pythonweb开发-Web | 浅谈用Python进行Web开发

    Web开发这样一个大概念,对我这种小白来说,想学也不知道从哪下手.在网上广泛地浏览了一下这个方面的文章后,我发现当今Web开发的一大热门语言是Python(最大的当然还是PHP),而恰好我平常用Pyt ...

最新文章

  1. 6426C Lab3 部署证书和管理注册
  2. 圆圈在动吗?这个骗过人眼的动图火了,LeCun解释原理:和CNN对抗攻击类似
  3. 【数据库】阿里云教你快速掌握SQL语句使用
  4. linux下的rman自动备份脚本,LINUX上RMAN自动备份脚本
  5. CelebA数据集在Linux下解压
  6. C++之undefined reference to “ssl::first::first()“
  7. 对于基类和派生类中的多态及重载的最好解释方法
  8. SWIFT显示底部的工具条
  9. 新手学Docker(1)Hello World
  10. web前端面试过程流程和建议
  11. 操作系统原理第五章(资源分配与调度)
  12. Google SEO关键词挖掘最新完整指南
  13. 社区宽带繁忙是什么意思_沈阳附近长城宽带安装申请多少钱欢迎咨询_畅鹏城通讯...
  14. 网络-DNS域名系统详解与DNS攻击
  15. win10系统蓝牙服务器,如何打开win10系统的蓝牙并进行设备添加
  16. Download a file from Google Drive
  17. layui个人中心html,Layui的简易入门教程
  18. FlutterWeb性能优化探索与实践
  19. 什么是RTOS?RTOS与普通操作系统的区别
  20. ERROR: Failed building wheel for box2d-py

热门文章

  1. c语言stdio函数大全,初学者常用的stdio库,原来还有这么多知识点
  2. steam显示连接至服务器时遇到问题,网吧steam在连接至steam服务器时遇到问题的处理办法...
  3. 计算机二级vb题库公众号,计算机二级vb题库
  4. 神策分析,全项通过数据中心联盟大数据产品能力评测
  5. intptr java_intptr_t 其实不是指针类型 (转载)
  6. 嵌入式linux UBoot移植篇
  7. 命令行 降低IE版本 IE11降到IE8
  8. 如何测试服务器端口是否能够访问(使用telnet命令)
  9. 吉吉影音官网版 v2.7.2.8_p2p播放器​
  10. 浏览器开发者插件集合fehelper