详解Python Flask API 示例演示(附cookies和session)
在此文中,我们将为您详细讲解如何使用Python Flask构建API,并附上cookies和session示例。文中包含以下两条示例:
- 访问API并设置cookies
- API使用session来记录登录状态
访问API并设置cookies
如果您要访问API并在浏览器中设置cookies,您可以使用以下代码:
from flask import Flask, request, make_response
app = Flask(__name__)
# API路由
@app.route('/api', methods=['GET'])
def api():
# 获取name参数
name = request.args.get('name')
# 构建response
res = make_response("Hello " + name)
# 设置cookie
res.set_cookie('name', name)
return res
if __name__ == '__main__':
app.run()
在这个示例中,我们定义了一个名为“api”的路由,它将接收GET请求,并从请求参数中获取“name”参数。然后使用make_response方法构建响应,将name和Hello字符串拼接在一起,并将该响应设置为浏览器的cookie数据。
API使用session来记录登录状态
如果您想使用session来记录用户的登录状态,并在API中进行身份验证,则可以使用以下代码示例:
from flask import Flask, request, session, abort
app = Flask(__name__)
app.secret_key = 'YOUR_SECRET_KEY'
# 登录路由
@app.route('/login', methods=['POST'])
def login():
username = request.form.get('username')
password = request.form.get('password')
if username == 'admin' and password == 'admin123':
session['logged_in'] = True
return "Logged in"
else:
abort(401)
# API路由
@app.route('/api', methods=['GET'])
def api():
# 验证登录状态
if not session.get('logged_in'):
abort(401)
return "Authorized user"
if __name__ == '__main__':
app.run()
在这个示例中,我们定义了一个“login”路由,当用户提交用户名和密码时,我们检查是否匹配,并使用session来记录登录状态。如果成功登录,将会返回“Logged in”字符串。
我们还定义了一个名为“api”的路由,它将会在已登录状态下显示“Authorized user”字符串。如果用户未登录,API将返回HTTP 401 Unauthorized错误。
需要注意的是,在代码示例中,我们还设置了密钥为“YOUR_SECRET_KEY”的app.secret_key。这是必须的,因为Flask需要用它来安全地加密和解密session数据。
以上就是如何使用Python Flask构建API并附上cookies和session示例的详细攻略。如果您还有任何问题或疑问,请随时与我们联系。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python Flask API 示例演示(附cookies和session) - Python技术站