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

这篇具有很好参考价值的文章主要介绍了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响应以获取书籍信息。文章来源地址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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python+flask+eventSource打造流式chatGPT生成式API接口

    后端用python,前端用web,怎么打通chatGPT API连接? 如果你遇到这样的情况: 科学上网登chat.openai.com开启一个新聊天,总是出现网页错误,刷新几次就没有对话的想法了。 获取了chatGPT的APIkey,用网上一大堆PHP/JSP/CURL的代码去试,效果很差,不是反应慢,就是兼容性不好。 用

    2024年02月04日
    浏览(48)
  • postman请求携带Cookie

    本文提供一种让请求携带Cookie的高效解决方案,之前试过使用 Postman Interceptor 插件,但是刚开始配置完有效,过了一天后就失效了,所以自己去找其它方法实现了。 原文:语雀 **思路:使用环境变量 步骤 关闭自动生成的Cookie头 设置环境变量 把环境变量添加到请求参数中(

    2024年02月11日
    浏览(41)
  • 软件测试——接口测试框架Flask与测试工具Postman、PyMySQL

    什么是Flask: Flask是一个Python Web框架,通常被称为微框架。它旨在保持应用程序的核心简单且可扩展。与其他Web框架不同,Flask没有用于数据库处理的内置抽象层,也没有形成验证支持。相反,Flask支持扩展以将这些功能添加到应用程序中。Flask的优势在于它可以与你珠联璧合

    2024年04月13日
    浏览(54)
  • react+unittest+flask 接口自动化测试平台

    目录 1 前言 2 框架 2-1 框架简介 2-2 框架介绍 2-3 框架结构 3 平台 3-1 平台组件图 1 新建用例 2 生成测试任务 3 执行并查看测试报告

    2024年02月17日
    浏览(49)
  • selenium携带cookies启动,请求

    一,携带本地缓存cookies启动 1,第一次启动先手动在要请求的网页输入账号信息等 2,之后正常启动,请求目标网站会自动添加cookies 二,携带账号cookies启动 1, 先请求目标网站,保存cookies 2,先请求目标网站, 读取刚刚保存下来的cookies文件再次去请求目标网站 headers里的

    2024年02月12日
    浏览(41)
  • python基于flask实现swagger在线文档以及接口测试

    阅读对象:知道什么是restful,有了解swagger或者openAPI更佳。 Representional State Transfer(REST):表征状态转移。是一种一种基于HTTP协议的架构。采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源。 如果REST满足一定条件(C/S、无状态、分层系统、

    2024年02月12日
    浏览(43)
  • Angular:跨域请求携带 cookie

    1. 新建文件夹 http-interceptors 2. 新建拦截器 common.interceptor.ts 3. 用一个数组汇总起来,统一引入: index.ts (后续需要添加拦截器,只需加入到该数组即可) 4. 引入拦截器使用: service.module.ts

    2024年01月23日
    浏览(54)
  • python爬虫,发送请求需要携带cookies

    此网站,需要先注册登录!!! 页面源代码: python代码: 运行结果:有数据 {\\\'next_max_id\\\': -1, \\\'items\\\': [], \\\'next_id\\\': -1} 此实例只是为了验证,某些网站反爬必须需要携带cookies。

    2024年01月16日
    浏览(84)
  • axios跨域请求设置并携带Cookies

    书接上回:《axios转发/oauth/authorize未设置cookies问题》 上回实现了axios 在client域名下情趣oauth域名并使response返回Set-Cookies的header 但是,接下来在域名oauth.szile.com域名下请求接口时,请求没有携带设置的Cookie,这是问什么? 难道是没有设置成功? 查看Application下Cookie,确实是没

    2024年02月04日
    浏览(47)
  • 前端为什么发请求没有携带cookie?

    在前端发送请求时,如果想要携带 cookie,通常只能携带存储在与请求域名相同路径的 cookie。这是由浏览器的同源策略所决定的。 同源策略要求请求的域名、协议和端口都必须一致,否则浏览器会限制跨域请求的权限。当浏览器发送跨域请求时,默认情况下不会自动携带 co

    2024年02月06日
    浏览(95)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包