
URL 縮短工具允許使用者將長 URL 轉換為更短、更易於管理的連結。我們可以使用 Python 和 Flask(一個輕量級 Web 框架)來建立該工具的簡單版本。
先決條件
開始之前,請確保您具備以下條件:
- 您的系統上已安裝Python(建議Python 3.6+)。
- 已安裝 Flask。您可以使用 pip 安裝 Flask。
第 1 步:設定您的環境
首先,你需要建立一個虛擬環境並安裝Flask。開啟終端機並執行以下命令:
1 2 3 4 5 6 7 8 9 10 11 | # Create a virtual environment
python -m venv myenv
# Activate the virtual environment
# On Windows
myenv\Scripts\activate
# On macOS/Linux
source myenv/bin/activate
# Install Flask
pip install Flask
|
登入後複製
第 2 步:編寫程式碼
為您的專案建立一個目錄,例如 url_shortener,並在其中建立一個名為 app.py 的 Python 檔案。我們將把程式碼分成幾個部分。
導入所需的庫
1 2 3 | from flask import Flask, request, redirect, url_for
import string
import random
|
登入後複製
設定 Flask 應用程式和資料庫
我們將使用一個簡單的記憶體字典來儲存 URL 映射。為了獲得更強大的解決方案,您可以使用 SQLite 或 PostgreSQL 等資料庫。
1 2 | app = Flask(__name__)
url_mapping = {}
|
登入後複製
產生短網址的函數
我們將建立一個產生短 URL 金鑰的函數。
1 2 3 4 | def generate_short_url():
characters = string.ascii_letters + string.digits
short_url = '' .join(random.choice(characters) for _ in range(6))
return short_url
|
登入後複製
處理 URL 縮短的路由
此路由將從使用者取得長 URL 並傳回縮短的版本。
1 2 3 4 5 6 | @app.route( '/shorten' , methods=[ 'POST' ])
def shorten_url():
original_url = request.form[ 'url' ]
short_url = generate_short_url()
url_mapping[short_url] = original_url
return f 'Shortened URL: {request.host_url}{short_url}'
|
登入後複製
重定向短 URL 的路由
此路由會將使用者從短網址重新導向至原始長網址。
1 2 3 4 5 6 7 | @app.route( '/<short_url>' )
def redirect_url(short_url):
original_url = url_mapping.get(short_url)
if original_url:
return redirect(original_url)
else :
return 'URL not found' , 404
|
登入後複製
運行應用程式的主要功能
1 2 | if __name__ == "__main__" :
app.run(debug=True)
|
登入後複製
第 3 步:運行該工具
儲存您的 app.py 檔案並從終端機運行它:
Flask 開發伺服器將啟動,您可以透過在 Web 瀏覽器中導航至 http://127.0.0.1:5000 來存取 URL 縮短工具。
第 4 步:測試工具
要縮短 URL,您可以使用curl 等工具或簡單的 HTML 表單。這是用於測試的基本 HTML 表單:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE html>
<html>
<head>
<title>URL Shortener</title>
</head>
<body>
<form action= "http://127.0.0.1:5000/shorten" method= "post" >
<label for = "url" >Enter URL to shorten:</label>
<input type= "text" id= "url" name= "url" >
<input type= "submit" value= "Shorten" >
</form>
</body>
</html>
|
登入後複製
將此 HTML 程式碼儲存為 index.html 並在網頁瀏覽器中開啟它。輸入要縮短的 URL 並提交表單。您應該會看到一個縮短的 URL,可用來測試重定向功能。
結論
按照以下步驟,您可以使用 Python 和 Flask 建立一個簡單的 URL 縮短工具。
可以透過使用者驗證、分析和用於持久性儲存 URL 對應的資料庫等附加功能進一步增強該工具。
想了解更多嗎?探索 ZeroByteCode 上的程式設計文章、提示和技巧。
以上是如何使用 Python 建立簡單的 URL 縮短工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!