Verwenden Sie Python Flask, um einen effizienten und prägnanten URL-Kürzungsdienst zu erstellen

王林
Freigeben: 2023-05-08 17:34:32
nach vorne
813 Leute haben es durchsucht

1. Richten Sie die Flask-Anwendung ein

Erstellen Sie zunächst ein neues Verzeichnis für Ihr Projekt und öffnen Sie ein Terminal in diesem Verzeichnis. Führen Sie dann den folgenden Befehl aus, um eine neue virtuelle Umgebung für Ihr Projekt zu erstellen:

# Für Windows:
virtualenv venv
# Für Linux:
python3 -m venv venv

Aktivieren Sie die virtuelle Umgebung, indem Sie den folgenden Befehl ausführen:

# Für Windows
venv/Scripts/activate
# Für Linux
source venv/bin/activate

Als nächstes installieren Sie Flask, indem Sie den folgenden Befehl ausführen:

pip install Flask

Erstellt in Ihrem Projektverzeichnis Erstellen Sie eine neue Datei mit dem Namen app.py und fügen Sie den folgenden Code hinzu, um eine grundlegende Flask-Anwendung einzurichten: app.py并添加以下代码以设置基本的 Flask 应用程序:

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)
Nach dem Login kopieren

运行以下命令启动 Flask 开发服务器:

python app.py
Nach dem Login kopieren

在您的网络浏览器中访问http://localhost:5000以查看“欢迎使用 URL 缩短器”消息。

二、将 URL 存储在字典中

接下来,我们会将原始 URL 及其相应的缩短 URL 存储在 Python 字典中。将以下代码添加到您的app.py文件中:

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
Nach dem Login kopieren

三、生成唯一的短 URL

要生成唯一的短 URL,我们将使用哈希函数。哈希函数接受输入(在本例中为原始 URL)并返回固定长度的输出(短 URL)。我们将使用 SHA-1 哈希函数,它是 Pythonhashlib库的一部分。将以下代码添加到您的app.py文件中:

import hashlib
def generate_short_url(original_url):
    hash = hashlib.sha1(original_url.encode())
    short_url = hash.hexdigest()[:8]
    return short_url
Nach dem Login kopieren

四、重定向到原始 URL

最后,我们将添加一个路由,以便在用户访问缩短的 URL 时将用户重定向到原始 URL。将以下代码添加到您的app.py

@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
Nach dem Login kopieren
Führen Sie den folgenden Befehl aus, um den Flask-Entwicklungsserver zu starten: 🎜rrreee🎜Zugriff in Ihrem Webbrowser http://localhost:5000, um die Meldung „Willkommen bei URL Shorteners“ anzuzeigen. 🎜🎜2. Speichern Sie die URL in einem Wörterbuch. 🎜🎜Als nächstes speichern wir die Original-URL und die entsprechende verkürzte URL in einem Python-Wörterbuch. Fügen Sie den folgenden Code zu Ihrer app.py-Datei hinzu: 🎜rrreee🎜 3. Generieren Sie eindeutige Kurz-URLs 🎜🎜 Um eindeutige Kurz-URLs zu generieren, verwenden wir eine Hash-Funktion. Eine Hash-Funktion nimmt eine Eingabe (in diesem Fall eine Roh-URL) entgegen und gibt eine Ausgabe fester Länge (eine kurze URL) zurück. Wir werden die SHA-1-Hash-Funktion verwenden, die Teil der Pythonhashlib-Bibliothek ist. Fügen Sie den folgenden Code zu Ihrer app.py-Datei hinzu: 🎜rrreee🎜4. Leiten Sie zur ursprünglichen URL weiter🎜🎜Abschließend fügen wir eine Route hinzu, um den Benutzer zur ursprünglichen URL umzuleiten, wenn er die verkürzte URL besucht. Fügen Sie den folgenden Code zu Ihrer app.py-Datei hinzu: 🎜rrreee

Das obige ist der detaillierte Inhalt vonVerwenden Sie Python Flask, um einen effizienten und prägnanten URL-Kürzungsdienst zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage