python 通过 Flask 实现 接口demo

教育的力量大于天赋的力量。

The power of education is greater than the power of genius.     -------伏尔泰


目录

准备条件

windows版

    无参请求

    有参get请求

Linux版(这里用的CentOS)

后台运行



准备条件

1.肯定你得先有python

2.然后你得有flask (没有的话,去pip一下)

pip install flack

3.总得有个像样的文本编辑器写代码吧,我这里用的是小闪电(sublime Text)

windows版

小提示:用windows版本的时候一定要保证,你的主机名称是英文,之前由于是中文,所以失败了

无参请求

from flask import Flask,request
app = Flask(__name__)

@app.route('/abc')
def hello_world():
	return 'Hello,World!'
app.run(port=8991,debug=False,host="0.0.0.0")    

执行

没有毛病,打开页面

有参get请求

from flask import Flask,request
app = Flask(__name__)

@app.route('/abc',methods=['get'])
def hello_world():
	rpt1=request.args.get('rpt1')
	return 'Hello, World!'+str(rpt1)
app.run(port=8991,debug=False,host="0.0.0.0")

这里加了个methods,设置为get就是get请求,设置Post就是post请求

post请求(post代码是从官网copy过来的,没有跑过。没用到这个需求)地址:https://dormousehole.readthedocs.io/en/latest/quickstart.html#id2

@app.route('/login', methods=['POST', 'GET'])
def login():
    error = None
    if request.method == 'POST':
        if valid_login(request.form['username'],
                       request.form['password']):
            return log_the_user_in(request.form['username'])
        else:
            error = 'Invalid username/password'
    # the code below is executed if the request method
    # was GET or the credentials were invalid
    return render_template('login.html', error=error)

Linux版(这里用的CentOS)

这里直接写有参了,还是一样要有环境flask,另外在linux上代码内 指定的端口与host会被无效化(那怎么指定端口,往下看)

from flask import Flask,request
app = Flask(__name__)

@app.route('/fuck123',methods=['get'])
def hello_world():
	rpt1=request.args.get('rpt1')
	return 'Hello, World!'+str(rpt1)

丢到服务器上

linux上执行命令

export FLASK_APP=test.py 
flask run --host=主机ip --port=8992

然后我在本地访问它

后台运行

最后请参照我的另一篇博文让接口后台运行

https://blog.csdn.net/qq_38403590/article/details/103885537

后台脚本shell,需要多添加一个命令export FLASK_ENV=development

#!/bin/bash
echo '加载/hadoop/nlp/getReport.py中'
`export FLASK_APP=/hadoop/nlp/getReport.py`
`export FLASK_ENV=development`
echo '加载完毕'
echo '运行中...'
`flask run --host=192.168.1.152 --port=8992`

警告使用flask,尽量不要部署到正式项目中,经过测试flask 10分钟2000次请求,崩了,昨天晚上还能访问,今天就异常,必须重启才行。

发布了103 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_38403590/article/details/103879001