[falsk]http请求//获取查询字符串

API — Flask Documentation (2.0.x) (palletsprojects.com)

  • request:flask中代表当前请求的 request 对象
  • 作用:在视图函数中取出本次客户端的请求数据
  • 导入from flask import request
  • 代码位置
  • ​ 代理类 from flask.app import Request ---> from flask.globals.Request
  • ​ 源码类:from flask.wrappers.Request
  • ​ 基类:from werkzeug.wrappers import Request as RequestBase

request常用属性

属性说明类型
data记录请求体的数据,并转换为字符串
只要是通过其他属性无法识别转换的请求体数据
最终都是保留到data属性中
bytes类型
form记录请求中的html表单数据ImmutableMultiDict
args记录请求中的查询字符串,也可以是query_stringImmutableMultiDict
cookies记录请求中的cookie信息Dict
headers记录请求中的请求头ImmutableMultiDict
method记录请求使用的HTTP方法GET/POST
url记录请求的URL地址string
files记录请求上传的文件列表ImmutableMultiDict
json记录ajax请求的json数据Dict
from flask import Flask, request
from urllib.parse import parse_qsapp = Flask(__name__)@app.route("/qs")
def qs():"""获取客户端请求的查询字符串参数:return:""""""请求url:http://127.0.0.1:5000/qs?user=xiaoming&age=16"""# 获取原始的查询字符串参数,格式:bytesprint(request.query_string)# b'user=xiaoming&age=16'# # 针对原始的查询字符串参数,转换成字典格式query_string = parse_qs(request.query_string.decode())print(query_string)  # {'user': ['xiaoming'], 'age': ['16']}# # 获取参数值# print(query_string["user"][0])# # 获取查询字符串参数,格式:ImmutableMultiDict#request.args   这个方法会原封不动地接收参数,会将数据一个个打印出来# print(request.args)# # ImmutableMultiDict([('user', 'xiaoming'), ('age', '16')])"""请求url:http://127.0.0.1:5000/qs?user=xiaoming&fav=shopping&fav=coding&fav=rap"""# # 获取单个参数值print(request.args["user"]) # 'xiaoming'print(request.args.get("user"))  # 'xiaoming'#上面两个方法的区别在于,如果user不存在,使用第一种方法会报错,但是第二种不会print(request.args["fav"])  # 'shopping'#上面的方法都是只能获取一个参数值,如果想要获取多个参数值,就加上gatlist,这样子输出的是一个列表的形式print(request.args.getlist("fav"))  # ['shopping', 'coding', 'rap']return "hello, flask"if __name__ == '__main__':app.run(host="0.0.0.0", port=5000, debug=True)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/564469.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙Harmony应用开发—ArkTS-类型定义

说明: 本模块首批接口从API version 7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 Resource 资源引用类型,用于设置组件属性的值。 可以通过$r或者$rawfile创建Resource类型对象,不可以修改Res…

虚拟机开机启动失败,进入(initramfs)解决办法

虚拟机开机启动失败,进入(initramfs)解决办法 打开虚拟机中Ubuntu时进入(initramfs),导致无法进入桌面。问题如下图显示: 命令行输入 fsck -y /dev/sda5输入 exit进入 选择root 后回车 输入虚拟机的密码 进入 root …

java-基于springboot+vue实现的旅游信息管理系统功能介绍

开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog 项目关键技术 1、JSP技术 JSP(Java…

学习或复习电路的game推荐:nandgame(NAND与非门游戏)、Turing_Complete(图灵完备)

https://www.nandgame.com/ 免费 https://store.steampowered.com/app/1444480/Turing_Complete/ 收费,70元。据说可以导出 Verilog !

io流的学习4

字符缓冲流 原理:底层自带了长度为8192的缓冲区提高性能。 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException;public class BufferedStringdemo01 {public static void main(String…

毕业设计:日志记录编写(3/17起更新中)

目录 3/171.配置阿里云python加速镜像:2. 安装python3.9版本3. 爬虫技术选择4. 数据抓取和整理5. 难点和挑战 3/241.数据库建表信息2.后续进度安排3. 数据处理和分析 3/17 当前周期目标:构建基本的python环境:运行爬虫程序 1.配置阿里云pytho…

Linux虚拟机的安装部署--尚硅谷笔记

part1 VMware的使用 学习目标 1 熟悉VMware软件的使用 2 可以熟练为虚拟计算机安装Linux操作系统 3 能独立解决安装过程中的常见问题 第一节 VMware的作用 VMware软件的作用 ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传] 第一步,在W…

实战高效RPC方案在嵌入式环境中的应用与揭秘

实战高效RPC方案在嵌入式环境中的应用与揭秘 开篇 在嵌入式系统开发中,大型项目往往采用微服务架构来构建,其核心思想是将一个庞大的单体应用分割成一系列小型、独立、松耦合的服务模块,这些模块可以是以线程或进程形式存在的多个服务单元。…

【Django开发】0到1美多商城项目md教程第3篇:用户注册业务实现,1. 用户注册页面绑定Vue数据【附代码文档】

美多商城完整教程(附代码资料)主要内容讲述:欢迎来到美多商城!,项目准备。展示用户注册页面,创建用户模块子应用。用户注册业务实现,用户注册前端逻辑。图形验证码,图形验证码接口设…

YOLOv8:Roboflow公开数据集训练模型

Roboflow公开数据集 Roboflow是一个提供计算机视觉数据集管理和处理工具的平台。虽然Roboflow本身并不创建或策划公开数据集,但它提供了一系列功能,帮助用户组织、预处理、增强和导出计算机视觉数据集。 官方网站:https://universe.roboflow…

学习要不畏难

我突然发现,畏难心是阻碍我成长的最大敌人。事未难,心先难,心比事都难,是我最大的毛病。然而一念由心生,心不难时,则真难事也不再难。很多那些自认为很难的事,硬着头皮做下来的时候,…

学生如何帮老师撰写审稿意见

开头先介绍这篇文章做了什么,达到了什么样的目的、有什么创新点、应用,然后第一段最后一句写上,如果你进行了如下补充,明确表达了相关内容等,就能够接收你的文章(在我们暂时不想接收他的文章的情况下&#…