MST

星途 面试题库

面试题:Python Flask中如何处理HTTP请求参数

在Python的Flask框架里,假设你有一个处理用户登录的路由,该路由需要接收用户名和密码作为请求参数。请描述如何获取GET和POST请求方式下的这些参数,并给出相应的代码示例。
34.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

获取GET请求参数

在Flask中,对于GET请求,参数会包含在URL的查询字符串中,可以通过request.args来获取。

示例代码如下:

from flask import Flask, request

app = Flask(__name__)

@app.route('/login', methods=['GET'])
def login_get():
    username = request.args.get('username')
    password = request.args.get('password')
    if username and password:
        return f"用户名: {username}, 密码: {password}"
    else:
        return "缺少参数"

获取POST请求参数

对于POST请求,参数通常包含在请求体中。如果是表单数据,可以通过request.form来获取。

示例代码如下:

from flask import Flask, request

app = Flask(__name__)

@app.route('/login', methods=['POST'])
def login_post():
    username = request.form.get('username')
    password = request.form.get('password')
    if username and password:
        return f"用户名: {username}, 密码: {password}"
    else:
        return "缺少参数"

如果POST请求的是JSON数据,则可以通过request.get_json()来获取。示例代码如下:

from flask import Flask, request

app = Flask(__name__)

@app.route('/login', methods=['POST'])
def login_json():
    data = request.get_json()
    if data:
        username = data.get('username')
        password = data.get('password')
        if username and password:
            return f"用户名: {username}, 密码: {password}"
        else:
            return "缺少参数"
    else:
        return "请求数据不是有效的JSON格式"