初识flask-www工作原理分析及获取请求体和查询字符串数据

www工作原理:

当用户第一次在地址栏上输入网址后回车,浏览器会根据域名去找DNS,根据域名获取IP地址,然后根据IP地址访问目标服务器

 浏览器向服务器发送的对象是请求对象(request)

request请求对象格式:

请求行:请求的第一行,内部包括客户端请求方式访问的路由地址协议及其版本                          例如:GET /login HTTP/1.1

请求头:从第二行到空白行之间的所有的key:value的内容都是请求头

请求体:从空白行下面到最后都属于请求体内容,请求体内容可有可无

服务器处理过程:接收客户端请求,处理客户端请求,返回响应对象

响应对象格式:

状态行:响应对象的第一行,包括协议及其版本,响应码,描述信息,例如:HTTP/1.0 200 OK

响应头:从第二行开始到空白行之间所有的key:value组成的内容

响应体:服务器将处理结果封装到响应对象的响应体中,浏览器通过解析响应体中的内容后在浏览器上显示

请求数据的获取:

客户端的请求参数一般存在于:请求体,请求头,url参数

其中url参数有两种:

1.固定参数:类似/index/<str:username>/<str:pwd>,参数值必须传递,否则无法访问成功,固定参数如果没有指定数据类型,则默认为string,如需指定类型可自定义转换器或使用flask内置转换器

2.查询字符串:/index?username=admin&pwd=123,可以传也可不传

接收客户端传递的参数:

A:接受请求体中的参数:request.form

它的返回值也是ImmutableMultiDict类型的对象,获取单个值使用get()方法,获取多个同名的参数值我们使用getlist()

B:接收查询字符串中的参数:request.args

获取一个值:addr = args.get("addr"),获取多个值:addr_list = args.getlist("addr")

C:接收客户端的提交方式:request.method

D:接收客户端访问的网址:request.url

获取客户端完整的访问地址,例如:http://127.0.0.1:5000/login

E:接收客户端访问的路由地址:request.path

获取访问的路由地址,例如:/login

F:接收客户端传递的请求头:request.headers

headers是一个<class 'werkzeug.datastructures.EnvironHeaders'>类型的数据

提取数据的方式有:

使用get()函数获取

使用keys()函数获取所有的key组成的generator对象

使用values()函数后期所有的value组成的generator对象

使用items()获取每一个key:value组成的元组数据,类型也是generator对象

G:接收客户端传递的文件对象:request.files

H:接收客户端传递的原始数据:request.data

I:接收客户端传递的json字符串并自动转化为python字典:request.json   或   request.get_json()

J:获取所有cookie:request.cookies

K:获取主机名(包括ip:port):request.host

M:获取客户端的访问地址:request.remote_addr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值