生成短链接

扫描二维码 上传二维码
选择防红平台类型,避免链接被拦截
选择允许访问的平台类型

短网址

当冗长的 URL 像藤蔓般缠绕指尖,「快缩短网址」——suo.run——以极简之刃,优雅地将其裁成一枚轻盈的符号。它不仅是字符的瘦身,更是数字世界的暗语:让每一次分享都化作一声清脆的口哨,随风远扬,却仍能精准召回最初的坐标。

一、秘而不宣的炼金术
1. 唯一符码的诞生
• 哈希淬炼:以 MD5 或 SHA-1 为炉,长链经烈火锻打,凝成一串定长指纹。
• 自增序列:由雪花算法或 Redis 原子计数器递出序号,再经 Base62 的魔法阵转译为 0–9、a–Z 的短咒。
2. 映射的永恒契约
将「符码 ⇄ 原址」封存于 MySQL 的琥珀,或 Redis 的闪电之中,任时光冲刷,契约不毁。
3. 瞬移的仪式
当访客轻触 suo.run/xxxxx,服务器在毫秒间翻阅契约,以 HTTP 302 的瞬移咒,将其精准抛回原始星河。

二、极简之诗:Python + Flask 微缩宇宙
以下代码仅百行,却可让一台笔记本即刻成为 URL 的炼金工坊:

python
import sqlite3, string, random, redis
from flask import Flask, request, redirect, jsonify

app = Flask(__name__)
r = redis.Redis(decode_responses=True)

def init_db():
with sqlite3.connect('suo.db') as conn:
conn.execute('''
CREATE TABLE IF NOT EXISTS url_map(
id INTEGER PRIMARY KEY AUTOINCREMENT,
long_url TEXT UNIQUE NOT NULL,
code CHAR(6) UNIQUE NOT NULL
)
''')

def mint_code(length=6):
alphabet = string.ascii_letters + string.digits
return ''.join(random.choices(alphabet, k=length))

@app.route('/shorten', methods=['POST'])
def forge():
long = request.json.get('url')
if not long:
return jsonify(error='URL missing'), 400



先查缓存


code = r.get(f'long:{long}')
if code:
return jsonify(short_url=f'https://suo.run/{code}')

再查库


with sqlite3.connect('suo.db') as conn:
cur = conn.execute('SELECT code FROM url_map WHERE long_url=?', (long,))
row = cur.fetchone()
if row:
code = row[0]
r.setex(f'long:{long}', 3600, code)
return jsonify(short_url=f'https://suo.run/{code}')



铸新码


while True:
code = mint_code()
with sqlite3.connect('suo.db') as conn:
try:
conn.execute('INSERT INTO url_map(long_url, code) VALUES (?,?)', (long, code))
break
except sqlite3.IntegrityError:
continue

r.setex(f'code:{code}', 3600, long)
r.setex(f'long:{long}', 3600, code)
return jsonify(short_url=f'https://suo.run/{code}')

@app.route('/')
def teleport(code):
long = r.get(f'code:{code}')
if not long:
with sqlite3.connect('suo.db') as conn:
cur = conn.execute('SELECT long_url FROM url_map WHERE code=?', (code,))
row = cur.fetchone()
if not row:
return 'Spell not found', 404
long = row[0]
r.setex(f'code:{code}', 3600, long)
return redirect(long, code=302)

if __name__ == '__main__':
init_db()
app.run(host='0.0.0.0', port=5000)


三、指尖轻触,星火燎原
1. 安装
pip install flask redis
2. 启动
python app.py
3. 试炼
curl -X POST -H "Content-Type: application/json" -d '{"url":"https://example.com"}' https://suo.run/shorten
浏览器访问返回的短链,瞬移即刻发生。

四、未来可期的星图
• 自定义咒语:允许用户指定短码,如 suo.run/loveu。
• 时空沙漏:为每条链接设置 TTL,过期即焚。
• 轨迹星尘:记录点击来源、地域、设备,绘制访问星云。
• 开放 API:Swagger 文档一键生成,让第三方星系也能接入 suo.run 的引力场。

在字符的荒漠里,「快缩短网址」以六枚字符为绿洲,让每一次复制、粘贴、发送,都成为一次优雅的跃迁。