Flask(4)- URL 组成部分详解

简介: Flask(4)- URL 组成部分详解

URL


  • Uniform Resource Locator 的简写,中文名叫统一资源定位符
  • 用于表示服务端的各种资源,例如网页
  • 下面将讲解 Flask 中如何提取组成 URL 的各个部分

 

URL 组成详解


一个常见的 url

https://www.cnblogs.com/poloyy/

由以下几部分组成

scheme://host:port/path?key=value

  • scheme:代表的是访问的协议,一般为 http 或者 https。例如,https://www.baidu.com 的协议是 https;
  • host:主机名、域名,例如,https://www.baidu.com 的 host 为 www.baidu.com;
  • port:端口号,http 协议默认使用 80 端口,https 协议默认使用 443 端口。通常情况下,使用默认值,不需要显式的写明端口号,例如,https://www.baidu.com 的端口是 443。某些情况下,可以显式的写明端口号,例如,http://localhost:5000 的端口号是 5000;
  • path:页面路径,例如:https://www.cnblogs.com/poloyy/的 path 是 poloyy/;
  • key=value:查询字符串,例如:https://www.baidu.com/s?wd=python,查询字符串是 wd=python,查询字符串包括两部分:参数名和参数值,这个例子中,参数名是 wd,参数值是 python

 

在 Flask 中分析 URL 参数


  • 服务端收到将客户端发送的数据后,封装形成一个请求对象,在 Flask 中,请求对象是一个模块变量flask.request
  • request 对象包含了众多的属性
  • 假设 URL 等于 http://localhost/query?userId=123,则与 URL 参数相关的属性如下:
属性 说明
url http://localhost/query?userId=123
base_url http://localhost/query
host localhost
host_url http://localhost/
path /query
full_path /query?userId=123

 

实际栗子

#!/usr/bin/python3
from flask import Flask
from flask import request
app = Flask(__name__)
def echo(key, value):
    print('%-10s = %s' % (key, value))
@app.route('/query')
def query():
    echo('url', request.url)
    echo('base_url', request.base_url)
    echo('host', request.host)
    echo('host_url', request.host_url)
    echo('path', request.path)
    echo('full_path', request.full_path)
    print()
    print(request.args)
    print('userId = %s' % request.args['userId'])
    return 'hello'
if __name__ == '__main__':
    app.run(port = 80)


浏览器访问

http://127.0.0.1:5000/query?userId=123

 

控制台输出结果

url        = http://127.0.0.1:5000/query?userId=123
base_url   = http://127.0.0.1:5000/query
host       = 127.0.0.1:5000
host_url   = http://127.0.0.1:5000/
path       = /query
full_path  = /query?userId=123
ImmutableMultiDict([('userId', '123')])
userId = 123


总结


image.png

request 还有很多其他属性,后面会陆续讲到

相关文章
|
9月前
|
安全 测试技术 网络安全
软件测试|测试平台开发-Flask 入门:URL组成部分详解
软件测试|测试平台开发-Flask 入门:URL组成部分详解
40 0
|
网络架构 Python
【flask入门系列】处理请求之url 路径参数的获取以及转换器的使用
这节我们写一下url路径参数的获取以及转换器的使用,学一下如何在我们的的url路径中加参数以及如何使用转换器,并且自定义转换器。
735 0
【flask入门系列】处理请求之url 路径参数的获取以及转换器的使用
|
10月前
|
网络协议 前端开发 数据安全/隐私保护
URL组成部分详解
URL组成部分详解。
151 1
|
11月前
|
Python
【flask】URL和视图映射
【flask】URL和视图映射
43 0
|
11月前
|
搜索推荐 Apache Python
Flask | Flask基础 - URL与视图
Flask | Flask基础 - URL与视图
|
12月前
|
数据可视化 Python
Python Flask Echarts数据可视化图表实战晋级笔记(3)Blueprint蓝图解决单文件url分发
Python Flask Echarts数据可视化图表实战晋级笔记(3)Blueprint蓝图解决单文件url分发
77 0
|
Web App开发 搜索推荐 开发者
Flask 路由处理 URL 路径末尾带斜线或不带斜线机制
Flask 路由处理 URL 路径末尾带斜线或不带斜线机制
220 0
|
JSON 前端开发 数据格式
Flask学习与项目实战2:url与视图函数映射、视图转url
访问book/list的url的时候发现是不可以访问的,因为我们返回额不是字典、元组等等,现在返回的是一个列表。 TypeError: The view function did not return a valid response. The return type must be a string, dict, tuple, Response instance, or WSGI callable, but it was a list.
Flask学习与项目实战2:url与视图函数映射、视图转url
|
Python
Flask架站基础篇(四)--URL
Flask架站基础篇(四)--URL
116 0
|
2月前
uView queryParams 对象转URL参数
uView queryParams 对象转URL参数
27 0