用京东页面演练重定向案例

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

重定向! b L永久重定向临时重定向

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

我们先来~ O J k Q 3 ? { !看一下源代码,先导入import redirect包,然后Ctrl+b,进入源码:

用京东页面演练重定向案例

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

接着我们看一下重定向的例子,这是一个简单的登录验证,如果用户传递了nam2 z 9 A h Ue就说明登录了(n, q z ~ R F Uame通过查询字符串方式传递),如果没有传name就跳转到登录页e 6 d C C R Y面:

# coding: utf-8from flask import Flask, url_for, redirectimport flask
app =o 4 p q 7 k Flask(__name__) # type: Flaskapp.debug = True# 根目录@app.route('/')def hello_world():
 name = flask.rF E Z r ] ; sequest.args.get('name')  if name:    return u'您的用户名是:%sK 6 M ) ? G L 8' % name  else:    # 跳转页面
   return redirect(url_for('login'))@z C d V O +app.route('/login/')def login():
 return u'这是登录页面'if __name__ == '__main__':
 app.run()

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同@ X - @ = # Y -行一起技术交流。
我们到页面验证一下,你还m s m * ) ` + U记得什么是通过查询字符串的方式传参吗?还记得url_forV u f y U T O的使用吗?这里就用到了这两个知识点哦& U M ^ } F~
我们先进入127.0.0.1:5000以及看到地址自动变成了http://127.0.0.1:5000/login/也就是我们的重定向起作用了:

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

用京东页面演练重定向案例

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

  • 补充题外话

回看一下我们的控制台:

用京东页面演练重定向案例

打印了上图内容,有没有觉得J - _ Q很眼熟?没错,这不就是我们整天说接口测试的接口吗!http请求方式是GET,参数H S jname
以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论