Flask 登陆生成cookie,携带cookie请求

  1. 导入所需的模块:Flaskrequestjsonifyrandom

  2. 创建一个Flask应用程序实例,并设置SECRET_KEY配置。

  3. /login路由定义为POST方法。它检查提供的用户名和密码是否与硬编码的值(adminadmin)匹配。如果登录成功,它生成一个随机的cookie,并返回一个带有成功消息和生成的cookie的JSON响应。如果登录失败,它返回一个带有错误消息的JSON响应。

  4. /books路由定义为GET方法。它从请求的cookie中获取cookie值。如果没有提供cookie,它返回一个带有提示消息的JSON响应,要求先进行登录。

  5. 如果提供的cookie无效(不是4位数字或长度不等于4),它返回一个带有错误消息的JSON响应。

  6. 如果cookie有效,它返回一个包含书籍信息的JSON响应。

  7. 最后,通过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()

使用requests库调用了登录接口和查询书籍接口。首先,它调用login()函数进行登录,并获取返回的cookie。然后,它将该cookie传递给seebook()函数,该函数发送GET请求到查询书籍接口,并解析返回的JSON响应以获取书籍信息。

复制代码
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)
相关推荐
爱写Bug的小孙7 分钟前
Tools、MCP 和 Function Calling
开发语言·人工智能·python·ai·ai编程·工具调用
rgb2gray9 分钟前
城市韧性与交通基础设施系统耦合协调度的时空演变及影响因素
网络·人工智能·python·ai·写作·耦合·耦合协调
初级炼丹师(爱说实话版)15 分钟前
大模型部署-数据并行/模型并行
人工智能·python
高洁0137 分钟前
激活函数应该具有哪些特征
人工智能·python·深度学习·神经网络·transformer
全栈陈序员39 分钟前
【Python】基础语法入门(十五)——标准库精选:提升效率的内置工具箱
开发语言·人工智能·python·学习
IT·小灰灰44 分钟前
AI学会理解物理法则:OpenAI Sora 2如何重塑视频生成新范式
人工智能·python·深度学习·机器学习·数据挖掘·音视频
记忆偶然1 小时前
语音转写技术在专业服务领域的应用实践
python
暗之星瞳1 小时前
python爬虫学习——1
爬虫·python·学习
二川bro1 小时前
字符串特性解析:Python不可变性引发的错误
android·开发语言·python
呆萌小新@渊洁1 小时前
声纹模型全流程实践-开发(训练 - 微调 - 部署 - 调用)
linux·服务器·python·语音识别