我们都知道京东的url是www.jd.com,但是当你输入www.jingdong.com时候,你会发现地址自动跳转到了www.jd.com,这种技术手段就叫做重定向

重定向分为永久重定向临时重定向

像京东这种只要你输入www.jingdong.com就会跳转到另一个地址的情况就叫做永久重定向,也就是说京东不希望你再用这个地址了;而临时重定向则可能是判断你的登录状态,比如有一些网站你进入后会判断你是否登录,如果登录就跳转页面A,如果没登录就跳转页面B,这种就是临时重定向的情况(后面写项目的时候会用到,当然,讲的所有知识点都是为最后做项目做准备的)。

我们先来看一下源代码,先导入import redirect包,然后Ctrl+b,进入源码:

可以看到redirect方法传入三个参数,其中第二个参数code就是设置重定向类型的,302代表临时重定向301代表永久重定向,默认302。知道这些就够了。

接着我们看一下重定向的例子,这是一个简单的登录验证,如果用户传递了name就说明登录了(name通过查询字符串方式传递),如果没有传name就跳转到登录页面:

# coding: utf-8

from flask import Flask, url_for, redirect
import flask app = Flask(__name__)  # type: Flask
app.debug = True # 根目录
@app.route('/')
def hello_world():    name = flask.request.args.get('name')
   if name:
       return u'您的用户名是:%s' % name
   else:
       # 跳转页面
       return redirect(url_for('login')) @app.route('/login/')
def login():
   return u'这是登录页面' if __name__ == '__main__':
   app.run()

我们到页面验证一下,你还记得什么是通过查询字符串的方式传参吗?还记得url_for的使用吗?这里就用到了这两个知识点哦~
    我们先进入127.0.0.1:5000以及看到地址自动变成了http://127.0.0.1:5000/login/也就是我们的重定向起作用了:

再通过查询字符串的方式给name传参:127.0.0.1:5000/?name=meng:

页面是我们模拟的登录后的页面。这就是一个简单的重定向啦~

  • 补充题外话

回看一下我们的控制台:

打印了上图内容,有没有觉得很眼熟?没错,这不就是我们整天说接口测试的接口吗!http请求方式是GET,参数是name。所以学flask开发,不知不觉你就会明白接口测试的真正含义啦~

请关注公众号:自动化测试实战

最新文章

  1. netperf安装及使用
  2. * {margin:0px; padding:0px;}什么意思?
  3. PHP-----类与对象,成员方法,成员属性,构造方法,析构方法
  4. PHP5各个版本的新功能和新特性总结(转载 http://www.jb51.net/article/48150.htm)
  5. tar 排除指定目录 –exclude
  6. 构造函数语义学之Default Constructor构建操作
  7. css3选择符使用个人理解。
  8. Lwip lwip_recvfrom函数一个数据包不能分多次读取。
  9. ViewPager引导页效果实例源码
  10. eclipse android ndk 提示Type 'JNIEnv' could not be resolved 等信息解决办法
  11. 带密钥的sha1加密
  12. Java 中的 String 类常用方法
  13. vue的传参方式和router使用技巧
  14. STM32 的PWM关闭方法
  15. 永久注册Oracle工具PL/SQL
  16. java多线程系列17 ThreadLocal
  17. CC4 表达方式----输赢
  18. centos7.3使用花生壳映射端口
  19. 原创:Spring整合junit测试框架(简易教程 基于myeclipse,不需要麻烦的导包)
  20. gnome-shell 使用 notify-send 发送桌面消息

热门文章

  1. Centos 解决 No package htop available.
  2. Qwt中鼠标获取坐标点
  3. 英语每日阅读---5、VOA慢速英语(翻译+字幕+讲解):美国人口普查局表示美国人受教育程度提升
  4. spring mvc: 生成RSS源
  5. IdentityServer4在Asp.Net Core中的应用(二)
  6. day5-re模块
  7. 通过windows的超级终端连接华为交换机
  8. 转:HDFS运行原理
  9. js点击复制功能的实现
  10. canvas 画布 文字描边