利用python创建接口

news2024/12/26 9:22:16

目录

  • 1. 创建一个简单的接口
    • 1.1 具体过程
    • 1.2 代码解读
      • 1. **导入 Flask**
      • 2. **创建 Flask 应用**
      • 3. **定义一个路由**
      • 4. **运行应用**
    • 1.3 遗留问题
  • 2. 创建一个复杂接口
    • 2.2 具体过程

1. 创建一个简单的接口

1.1 具体过程

from flask import Flask

app = Flask(__name__)


@app.route('/hello')
def hello():
    return 'Hello world Python day!'


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5001)

输出:

 * Serving Flask app 'demo02'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5001
 * Running on http://192.168.3.13:5001

访问:
在这里插入图片描述

1.2 代码解读

from flask import Flask

app = Flask(__name__)

@app.route('/hello')
def hello():
    return 'Hello world Python day!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5001)

这段代码使用 Flask 框架创建了一个简单的 Web 接口,下面一步步解释:

1. 导入 Flask

from flask import Flask

这里导入了 Flask,这是一个轻量级的 Python Web 框架。简单来说,Flask 可以创建网站或接口,让用户可以通过浏览器或应用访问和使用我们的服务。

2. 创建 Flask 应用

app = Flask(__name__)

这里创建了一个 app 对象,它就是整个 Web 应用的核心。Flask(__name__) 让 Flask 知道应用的名称,以便正确找到资源、文件等。

3. 定义一个路由

@app.route('/hello')
def hello():
    return 'Hello world Python day!'
  • @app.route('/hello') 这行代码为应用定义了一个“路由”。你可以把它理解成一个网址,比如我们在浏览器输入的 /hello 部分。
  • 当用户访问 http://127.0.0.1:5001/hello 时,Flask 会执行下面的函数 hello()
  • 这个函数 hello() 的功能很简单,就是返回文本 'Hello world Python day!',当用户访问这个网址时,这段文字会显示在页面上。

4. 运行应用

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5001)
  • 这一部分代码表示当你直接运行这个文件时,启动 Flask 应用。
  • app.run(host='0.0.0.0', port=5001) 告诉 Flask 使用 0.0.0.0 作为主机地址,意味着这个应用可以被局域网中的其他设备访问,并在端口 5001 上运行。
  • 启动后,你可以在浏览器中输入 http://127.0.0.1:5001/hello,查看页面显示的内容。

所以,这段代码实现了一个非常简单的 Web 接口,访问 /hello 会显示 “Hello world Python day!”。通过这种方式,可以一步步搭建和扩展你的 Web 服务!

1.3 遗留问题

    1. 为什么在别的电脑上访问这个地址会被拒绝?

2. 创建一个复杂接口

2.2 具体过程

下面写3个新的接口,让它返回文本信息(text接口),再返回一个JSON数据(json接口)、再返回一个图片(image接口)。

代码如下:

from flask import Flask, jsonify, send_file

app = Flask(__name__)

# 1. 接口1
@app.route('/text')
def text():
    return '您正在访问Python写的接口!!!'

# 2. 接口2
@app.route('/json')
def return_json():
    data = {'msg': 'This is a json RESPONSE'}
    return jsonify(data)

# 3. 接口3
@app.route('/image')
def return_image():
    image_path = r'C:\Users\hello\Pictures\Camera Roll\guido.jpg'
    return send_file(image_path, mimetype='image/jpeg')

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5002)

运行代码:

C:\Users\hello\.conda\envs\tf\python.exe E:/09-code/11-自然语言处理与知识图谱/pypro/practise/demo03.py
 * Serving Flask app 'demo03'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5002
 * Running on http://192.168.3.13:5002

输出:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pip安装指定版本的tensorflow

安装CPU版本:(以2.9.0版本为例) pip install tensorflow2.9.0安装GPU版本:(以2.9.0版本为例) pip install tensorflow-gpu2.9.0若下载缓慢,使用阿里国内镜像源加速下载:(以2.9.0版本为例) pip install -i https://mirrors.aliy…

一些硬件知识【20241013】

3C认证要花很多钱: X电容可以滤除差模信号干扰,当火线上有高频干扰信号时候,X电容利用两端压差将干扰送到N: Y电容针对于零火线上有相位相同的共模干扰信号的时候,将干扰导向大地: 电阻上并联一个电容有什么作用&#…

mac安装homebrew和git

简介 由于把自己的新mac拿来撸代码,开始环境搭建,安装各种工具和依赖,安装 git 需要先安装 homebrew,然后就遇到了 homebrew 安装失败的问题。 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection…

多字节字符集MFC使用 Windows Visual Styles

新建一个记事本&#xff0c;然后添加以下代码 <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <assembly xmlns"urn:schemas-microsoft-com:asm.v1" manifestVersion"1.0"><trustInfo xmlns"…

STM32 | STM32F4OTA_ESP8266_Bootloader为引导程序远程更新的代码(APP)

更新。点击上方"蓝字"关注我们 01、思路 >>> STM32F4OTA_ESP8266_Bootloader为引导程序 远程更新的代码&#xff08;APP&#xff09;:远程更新的APP Ymoden_server&#xff1a;为运行在Linux的TCP服务器 备注&#xff1a;STM32 OTA远程更新需要连接热点 电…

地级市-国内旅游收入、国内旅游人数数据(2000-2023年)

国内旅游收入是指国内游客在旅行过程中的全部花费&#xff0c;包括交通、参观游览、住宿、餐饮、购物和娱乐等。这一指标不包括国际游客在国内的消费&#xff0c;主要反映国内旅游市场的经济规模和发展水平&#xff0c;是评估旅游行业对国民经济贡献的重要参数。 地级市-国内旅…

安全可靠测评结果公告(2024年第2号)

大家可以选择对应的数据库&#xff0c;中央处理器&#xff0c;供参考

【C++】--内存管理

&#x1f47e;个人主页: 起名字真南 &#x1f47b;个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 C/C内存分布2 C语言中动态内存管理方式 &#xff1a;3 C内存管理方式3.1 new/delete操作内置类型3.2 new和delete操作自定义类型 4 operator new与operator delete4.1 opera…

Cortex-M 内核的 OS 特性

目录 一、通用堆栈知识二、双堆栈用法三、PendSV 中断介绍和用法四、SVC 软中断介绍和用法五、特权级和非特权级使用方法 一、通用堆栈知识 在前面讲解 STM32 启动文件的时候就已经提到过&#xff0c;有关堆栈大小的设置是在启动文件中设置的&#xff1a; Heap 主要用于 Mal…

学习Redisson实现分布式锁

官网&#xff1a;https://redisson.org/ 官方文档&#xff1a;https://redisson.org/docs/getting-started/ 官方中文文档&#xff1a;https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 1、引入依赖 <!--redisson--> <dependency><groupId>or…

基础教程 | 用VuePress搭建一个简单的个人博客(附源码)

先附上自己个人博客页面&#xff1a;https://illusionno.github.io/ 源码也在这里&#xff1a;https://github.com/illusionno/my-blog &#xff08;如果觉得有帮助&#xff0c;可以点颗star✨&#xff09; 使用的主题是vuepress-theme-reco2.x&#xff0c;并在上面进行了一些调…

基于Java Web众筹系统的设计与实现

文未可获取一份本项目的java源码和数据库参考。 体育俱乐部是我国体育产业的重要组成部分&#xff0c;而乒乓球作为“国球”&#xff0c;在我国拥有最广泛的群众基础。在世界乒坛&#xff0c;面对如此激烈的外部竞争环境&#xff0c;我国乒乓球运动应扎扎实实地研究基层职业乒乓…

考研C语言程序设计_语法相关(持续更新)

目录 一、语法题strlen转义字符内置数据类型字符串结束标志局部变量和全局变量名字冲突 局部优先switch语句中的关键字数组初始化是否正确注意define不是关键字C语言中不能用连等判断switch( )的括号里可以是什么类型?关于if关于switch 二、程序阅读题有关static有关continue说…

初级前端面试(2)

1.讲一下闭包相关知识&#xff0c;和普通函数有什么区别 闭包是什么&#xff1a;JS中内层函数可以访问外层函数的变量&#xff0c;外层函数无法操作内存函数的变量的特性。我们把这个特性称作闭包。 闭包的好处&#xff1a; 隔离作用域&#xff0c;保护私有变量&#xff1b;…

快速了解接口测试

1、定义 什么是接口测试&#xff1f; 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 接口测…

Vue3高级API的使用

介绍 在前面的内容中&#xff0c;我们已经学习到了很多 Vue 3 的基础语法与一些常用的 API。 本节我们将介绍一些高级 API&#xff0c;带领大家进一步深入了解 Vue 3。 主要内容 ●customRef() ●markRaw() ●toRaw() ●获取 DOM 元素 customRef 方法 customRef&#…

DNS隧道技术原理及其典型应用场景剖析

DNS隧道&#xff08;DNS Tunneling&#xff09;本质为一种网络通信技术&#xff0c;它利用DNS协议在客户端和服务器之间传输数据&#xff0c;主要用来绕过网络限制进行数据隐蔽传输&#xff0c;但在实际场景中&#xff0c;DNS隧道已经成为黑客忠爱的攻击媒介。 1. 概览 DNS是互…

Linux之HugePage的原理与使用

Linux之HugePage的原理与使用 虚拟地址与物理地址虚拟地址物理地址虚拟地址与物理地址的转换 HugePage的概念Linux使用HugePage创建HugePage在程序中使用HugePage 总结 虚拟地址与物理地址 在研究HugePage之前&#xff0c;首先需要明白虚拟地址和物理地址的概念。在计算机系统…

baby_web-CTFWeb进阶wp-攻防世界14

baby_web-CTFWeb进阶wp-攻防世界14 页面显示1.php&#xff0c;可以先访问下源码和index.php&#xff0c;发现内容一致&#xff0c;再查看下cookie和header&#xff0c;看一下有没有藏flag&#xff0c;发现没。 dirsearch一下&#xff0c;发现访问index.php会重定向到1.php。抓…

想一键获取视频文案?2024年这3款好用的视频转文字工具来帮忙

嘿&#xff0c;咱们现在活在21世纪&#xff0c;这信息多得跟啥似的。视频这东西&#xff0c;不管是学东西、娱乐还是工作&#xff0c;都挺受欢迎的&#xff0c;因为它直观、生动嘛。但是&#xff0c;有时候咱们想从视频里提取点有用的信息&#xff0c;还挺费劲的。幸好啊&#…