网站外链的作用,太平洋电脑配置报价官网,河北秦皇岛黄金海岸,网站改版 被百度k原文链接#xff1a;Nodejs 第六十二章#xff08;短链接#xff09; - 掘金 (juejin.cn) 短链接是一种缩短长网址的方法#xff0c;将原始的长网址转换为更短的形式。短链接的主要用途之一是在社交媒体平台进行链接分享。由于这些平台对字符数量有限制#xff0c;长网址可… 原文链接Nodejs 第六十二章短链接 - 掘金 (juejin.cn) 短链接是一种缩短长网址的方法将原始的长网址转换为更短的形式。短链接的主要用途之一是在社交媒体平台进行链接分享。由于这些平台对字符数量有限制长网址可能会占用大量的空间因此使用短链接可以节省字符数。原理就是使用重定向到原网站。
CREATE TABLE short (id int NOT NULL AUTO_INCREMENT COMMENT Primary Key, short_id varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 短码, url varchar(255) NOT NULL COMMENT 网址,PRIMARY KEY (id)
)
import knex from knex
import express from express
import shortid from shortid
const app express()
app.use(express.json())
const db knex({client: mysql2,connection: {host: localhost,user: root,password: 123456,database: short_link}
})
//生成短码 存入数据库
app.post(/create_url, async (req, res) {const { url } req.bodyconst short_id shortid.generate()const result await db(short).insert({ short_id, url })res.send(http://localhost:3000/${short_id})
})
//重定向
app.get(/:shortUrl, async (req, res) {const short_id req.params.shortUrlconst result await db(short).select(url).where(short_id, short_id)if (result result[0]) {res.redirect(result[0].url)} else {res.send(Url not found)}
})app.listen(3000, () {console.log(Server is running on port 3000)
})