用京東頁面演練重定向案例

我們都知道京東的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-8from flask import Flask, url_for, redirectimport flask

app = Flask(__name__)  # type: Flaskapp.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()

如果對軟件測試、接口測試、自動化測試、面試經驗交流。感興趣可以加軟件測試交流:1085991341,還會有同行一起技術交流。
 我們到頁面驗證一下,你還記得什麼是通過查詢字符串的方式傳參嗎?還記得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
以上內容希望對你有幫助,有被幫助到的朋友歡迎點贊,評論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章