用Python Flask创建简洁高效的URL短链接服务
作者:csdn1561168266 发布时间:2022-10-12 16:21:49
大家好,使用 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 应用程序:
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
文件中:
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文件中:
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
文件中:
@app.route('/<short_url>')
def redirect_url(short_url):
original_url = url_map.get(short_url)
if original_url:
return redirect(original_url
来源:https://blog.csdn.net/csdn1561168266/article/details/130279146
猜你喜欢
- 之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查
- 1 问题描述最近与诸位聊起,在用户体验网站产品、完成任务的过程中,页面的切换到底是新开窗口,还是当前页面跳转,哪一种是最佳的用户体验。这一讨
- 在oracle中有很多关于日期的函数,如:1、add_months()用于从一个日期值增加或减少一些月份 date_value:=add_m
- 在开始安装SQL Server 2005数据库过程中,出现了下面的错误,安装不能继续进行:The SQL Server System Con
- 本文实例为大家分享了Python实现图形用户界面计算器的具体代码,供大家参考,具体内容如下简易用户图形界面计算器设计思路:简易图形用户界面计
- 前言上篇文章讲的进阶一些的PHP特性不知道大家吸收的怎么样了,今天作为本PHP特性函数的最后一篇,我也会重点介绍一些有趣的PHP特性以及利用
- 一、前言很多时候,我们都有远程控制电脑的需求。比如正在下载某样东西,需要让电脑在下载完后关机。或者你需要监控一个程序的运行状况等。今天我们就
- 1 词频统计1.1 简单词频统计1.导入jieba库并定义文本import jiebatext = "Python是一种高级编程语
- ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置。下面我们以Smarty模板引擎为例,给大家说说具体的操作流程!首先去Sma
- 透视表是一种可以对数据动态排布并且分类汇总的表格格式。对于熟练使用 excel 的伙伴来说,一定很是亲切!pd.pivot_table()
- 本文较为详细的分析了Python解释执行的原理,对于深入理解Python可以起到一定的帮助作用。具体分析如下:首先,这里的解释执行是相对于编
- 摘要在Nginx和uWSGI还没配置时,单独在url.py使用apscheduler设置定时任务,使用python manage.py ru
- javascript作为一个动态语言,动态解析脚本的方法非常多,如万恶又万能的eval,低调的Function,IE独占的execScrip
- 静态页面是蜘蛛喜欢的,会得到蜘蛛经常光顾的,以至于网站上的内容会得到搜索引擎更多的收录。这里介绍一个asp伪静态的程序实现方法数据库是acc
- 首先说登陆在config.inc.php文件中,有一个选项需要设置查找:$cfg['Servers'][$i]['a
- 界面的制作一直是 Python 的痛!使用 Python 制作桌面端界面是非常痛苦的过程(又难学又难看)。不过,Python 已经出现了几个
- 用ASP判断一个字符串中只包含字母和数字要怎么做啊? for s=1 to len(trim(use
- JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在
- 1.无效数据的概念无效数据是指不符合数据收集目的或数据收集标准的数据。这些数据可能来自于不准确的测量、缺失值、错误标注、虚假的数据源或其他问
- <?phphighlight_file(__FILE__);error_reporting(0);$content = $_POST[