脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - 用Python Flask创建简洁高效的URL短链接服务

用Python Flask创建简洁高效的URL短链接服务

2023-04-26 15:03csdn1561168266 Python

本文介绍了如何使用Python Flask框架创建URL短链接服务。通过详细的步骤和代码示例,读者将学会如何搭建一个高效的URL缩短服务,包括生成短链接、重定向、还原长链接等功能。本文还介绍了如何使用Redis数据库实现短链接的存储和

大家好,使用 Python Flask 创建 URL 缩短器是一个有趣而简单的项目,可以帮助您深入了解 Web 开发的世界。Flask 是 Python 的轻量级 Web 框架,可让您快速轻松地构建 Web 应用程序。在本文中,我们将介绍使用 Flask 构建基本 URL 缩短器的过程。

一、设置 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 开发服务器:

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('/<short_url>')
def redirect_url(short_url):
    original_url = url_map.get(short_url)
    if original_url:
        return redirect(original_url

到此这篇关于用Python Flask创建简洁高效的URL短链接服务的文章就介绍到这了,更多相关Python Flask创建短链接内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/csdn1561168266/article/details/130279146

延伸 · 阅读

精彩推荐
  • Python在Python中过滤Windows文件名中的非法字符方法

    在Python中过滤Windows文件名中的非法字符方法

    今天小编就为大家分享一篇在Python中过滤Windows文件名中的非法字符方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Avalonist10222021-07-03
  • PythonPython中datetime模块参考手册

    Python中datetime模块参考手册

    Python处理时间和日期方面的模块,主要就是datetime、time、calendar三个模块的使用。下面这篇文章主要给大家介绍的是Python中的datetime模块,需要的朋友可以参...

    旷世的忧伤2332020-09-17
  • Python分享一些提升Python编程效率的轮子

    分享一些提升Python编程效率的轮子

    Python 是世界上最受欢迎的编程语言之一,只要你有需求,Python 就有对应的解决方案,仅 PyPI 就有 4.7 万个库,这些库或模块足够简单,开箱即用,是节省时...

    Python七号10462021-04-10
  • PythonPython编写一个闹钟功能

    Python编写一个闹钟功能

    本文给大家分享一个python小程序之基于python编写的一个闹钟功能,需要的的朋友参考下实现代码吧...

    shirley_sweet9002020-11-25
  • Pythonpython轻松实现代码编码格式转换

    python轻松实现代码编码格式转换

    由于某些原因,需要将代码从A机房迁移到B机房,这两个之间不能互相访问,但是历史原因导致A机房的代码全是utf8编码的,B机房要求是GBK编码,看看这个...

    脚本之家4112020-05-24
  • Pythonpython批量爬取下载抖音视频

    python批量爬取下载抖音视频

    这篇文章主要为大家详细介绍了python批量爬取下载抖音视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    刘劲松14592021-07-13
  • PythonPython实现检测服务器是否可以ping通的2种方法

    Python实现检测服务器是否可以ping通的2种方法

    这篇文章主要介绍了Python实现检测服务器是否可以ping通的2种方法,本文分别讲解了使用ping和fping命令检测服务器是否可以ping通,需要的朋友可以参考下 ...

    脚本之家13472020-05-18
  • Pythonpython 实现 pymysql 数据库操作方法

    python 实现 pymysql 数据库操作方法

    这篇文章主要介绍了python实现pymysql数据库操作方法,文章基于python的相关内容展开对 pymysql 数据库操作方法的详细介绍,具有一定的参考价值,需要的小伙...

    autofelix11412022-12-02