首頁 > 後端開發 > Python教學 > 使用Python Flask建構高效簡潔的URL縮短服務

使用Python Flask建構高效簡潔的URL縮短服務

王林
發布: 2023-05-08 17:34:32
轉載
921 人瀏覽過

一、設定 Flask 應用程式

首先,為您的專案建立一個新目錄並在該目錄中開啟一個終端。然後,執行以下命令為您的專案建立一個新的虛擬環境:

# For windows:
virtualenv venv
# For linux:
python3 -m venv venv

透過執行以下指令啟動虛擬環境:

 # For windows
venv/Scripts/activate
# For linux
source venv/bin/ activate

接下來,透過執行以下命令安裝Flask:

pip install Flask

在您的專案目錄中建立一個名為的新檔案app.py並添加以下程式碼以設定基本的Flask 應用程式:

1

2

3

4

5

6

7

from flask import Flask, request, redirect

app = Flask(__name__)

@app.route('/')

def index():

    return 'Welcome to the URL Shortener'

if __name__ == '__main__':

    app.run(debug=True)

登入後複製

執行以下命令啟動Flask 開發伺服器:

1

python app.py

登入後複製

在您的在網路瀏覽器中造訪http://localhost:5000以查看「歡迎使用URL 縮短器」訊息。

二、將 URL 儲存在字典中

接下來,我們會將原始 URL 及其對應的縮短 URL 儲存在 Python 字典中。將以下程式碼加入您的app.py檔案:

1

2

3

4

5

6

7

8

9

10

11

url_map = {}

@app.route('/shorten', methods=['POST'])

def shorten_url():

    original_url = request.form['url']

    short_url = generate_short_url(original_url)

    url_map[short_url] = original_url

    return short_url

def generate_short_url(original_url):

    # Generate a unique short URL for the original URL

    # (We'll implement this in the next step)

    pass

登入後複製

三、產生唯一的短URL

要產生唯一的短URL,我們將使用哈希函數。雜湊函數接受輸入(在本例中為原始 URL)並傳回固定長度的輸出(短 URL)。我們將使用 SHA-1 雜湊函數,它是 Pythonhashlib函式庫的一部分。將以下程式碼加入您的app.py檔案:

1

2

3

4

5

import hashlib

def generate_short_url(original_url):

    hash = hashlib.sha1(original_url.encode())

    short_url = hash.hexdigest()[:8]

    return short_url

登入後複製

四、重定向到原始URL

最後,我們將新增一個路由,以便在使用者存取縮短的URL 時將使用者重定向到原始URL。將以下程式碼新增至您的app.py檔案:

1

2

3

4

5

@app.route(&#39;/<short_url>&#39;)

def redirect_url(short_url):

    original_url = url_map.get(short_url)

    if original_url:

        return redirect(original_url

登入後複製

以上是使用Python Flask建構高效簡潔的URL縮短服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
python - ubuntu16.04 lxml的報錯
來自於 1970-01-01 08:00:00
0
0
0
有辦法在PHP裡寫Python嗎?
來自於 1970-01-01 08:00:00
0
0
0
python scrapy爬蟲錯誤
來自於 1970-01-01 08:00:00
0
0
0
python相關問題求解決,有償
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板