- 导入所需的模块:
Flask
、request
、jsonify
和random
。 - 创建一个Flask应用程序实例,并设置
SECRET_KEY
配置。 -
/login
路由定义为POST
方法。它检查提供的用户名和密码是否与硬编码的值(admin
和admin
)匹配。如果登录成功,它生成一个随机的cookie,并返回一个带有成功消息和生成的cookie的JSON响应。如果登录失败,它返回一个带有错误消息的JSON响应。 -
/books
路由定义为GET
方法。它从请求的cookie中获取cookie值。如果没有提供cookie,它返回一个带有提示消息的JSON响应,要求先进行登录。 - 如果提供的cookie无效(不是4位数字或长度不等于4),它返回一个带有错误消息的JSON响应。
- 如果cookie有效,它返回一个包含书籍信息的JSON响应。
- 最后,通过
app.run()
运行应用程序。
from flask import Flask, request, jsonify
import random
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret_key'
# 登陆接口
@app.route('/login', methods=['POST'])
def login():
if request.form.get('username') == 'admin' and request.form.get('password') == 'admin':
# 登陆成功,生成随机cookie
cookie = str(random.randint(1000, 9999))
return jsonify({'message': 'Login successful', 'cookie': cookie})
else:
return jsonify({'message': 'Invalid username or password'})
# 查询书籍接口
@app.route('/books', methods=['GET'])
def books():
cookie = request.cookies.get('cookie')
if not cookie:
return jsonify({'message': 'Please login first'})
# 检查cookie是否有效,这里简单判断cookie是否为4位数字
if not cookie.isdigit() or len(cookie) != 4:
return jsonify({'message': 'Invalid cookie'})
# 返回书籍信息
book_info = {
'number': '1',
'bookname': '接口测试开发',
'money': 60
}
return jsonify(book_info)
if __name__ == '__main__':
app.run()
文章来源:https://www.toymoban.com/news/detail-575984.html
使用requests
库调用了登录接口和查询书籍接口。首先,它调用login()
函数进行登录,并获取返回的cookie。然后,它将该cookie传递给seebook()
函数,该函数发送GET请求到查询书籍接口,并解析返回的JSON响应以获取书籍信息。文章来源地址https://www.toymoban.com/news/detail-575984.html
import requests
import json
def login():
# 登录接口
login_url = 'http://localhost:5000/login'
login_data = {'username': 'admin', 'password': 'admin'}
res = requests.post(url=login_url, data=login_data)
cookie = res.json().get('cookie')
return cookie
def seebook(cookie):
books_url = 'http://localhost:5000/books'
cookies = {'cookie': cookie}
res = requests.get(url=books_url, cookies=cookies)
book_info = json.loads(res.text) # 解码JSON响应
print('Book information:', book_info)
cookie = login()
seebook(cookie)
到了这里,关于Flask 登陆生成cookie,携带cookie请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!