首页 / 短链 / 功能详解:实现短链接url跳转服务

专业的短链接生成工具

链接域名

短网址有效期

功能详解:实现短链接url跳转服务

更新时间:2025-5-2 11:52:07 作者:爱短链

根据业务绘制流程图(dag,有向无环图)。看看缺少哪些功能,直接设计功能,主要是输入输出参数短链接url跳转,根据输入输出参数编写逻辑。


dag图片可用,请参考这里:


这时候可以根据dag图做一些数据结构设计和函数设计。


前端的作用,
---------------------------------------------------------------------------------------
1.功能1:收集长链接并生成短链接
  dag流程:收集长URL,并确认长URL有效,如果有效则生成短URL,并传递到后端服务器。
  1-1 收集长URL: 通过在index.html 中设计一个表单,客户输入表单后,用requests.form 方法获取表单内容
  1-2 检查长URL是否有效:通过checkurl(longurl)函数,当longurl 有效则返回1,否则返回0
  1-3 生成短URL:通过createshorturl(longurl)函数,从长url里面截取字段另外加上时间来生成一个短url
  1-4 传递到后端服务器:把长短URL的关系记录到后端
      具体实现可以通过requests.post 方法,向对应的restful api 进行请求(备注1),传递jason字段(备注2)
      备注1:这里指post 的url,指requsts.post 请求对应的Url,建议post的url要详细到具体的接口,比如127.0.0.1:8008/api/shorturlcreate 接口,这样后端服务器可以根据接口特性来进行相应的逻辑处理
      备注2:制作字典,按照 dic1= {短链:{"长链":长链,"访问日期":"null","创建日期":date}} 创建
      另外,requests.post 方式,选择data=json 方式传递,json字段是对备注2里字典信息做字符串序列化的结果 json.dumps(dic1)

2.功能2:收集短链接做相关跳转
  dag流程:收集短url,如果短url存在,则接收服务端的redirect请求,跳转到短URL对应的长URL链接上。
  2-1 收集短url:通过在index.html设计一个表单,客户输入表单后,用requests.form方法获取表单内容
  2-2 检查短url是否存在:通过checksurl(shorturl)函数,当shorturl有效则返回1,否则返回0 (服务端)
  2-3 跳转到长URL:通过jumpurl(shorturl)函数,请求到服务端。服务端先判断短URL是否存在,如果存在则做redirect。
      jumpurl函数设计:
      1.访问到后端服务器,requests.post(url/api/jump,""), 后端服务器根据URL具体的api来返回信息,返回值里包含了URL信息
      2.服务端要构造返回的Header值,根据Location 参数 ,让客户浏览器跳转到对应的长链URL中

3.功能3:请求某个短链的访问信息,并进行展示:
  dag流程:收集短url 对应的信息,如果短URL存在,则返回这个短URL被调度的次数等信息
  3-1 在第2-3步,每次服务端指定后端做跳转的时候,把短URL被访问的时间做一个记录。
      服务端操作:
      每次访问短链的时候,对访问情况做个统计:
       3-1-1: {短url:访问时间} 存入redis 另外一个表里。
       3-2-2:对之前的 数据结构做个更新,主要是对 shorturl 的value做个update,访问时间增加一行。
  3-2 发起请求,通过requests.post() 函数,传参数为 /api/statics ,到后端
      收集后端返回的json字符串,查询时间,短url,以及这个url的访问列表,{date:[list],"shorturl",url, visittime:[list]}。
      用json.loads() 把信息拿到,然后收集visittime的信息,
      按照天的维度对visittime做一个图像化。---作业。
redis 数据结构设计:
      key:value
      shorturl:{"对应的长链接":longurl,"访问时间":[visitdate1,visitdate2],"创建时间":createdate}
      把短链做为Key,把长链的信息、访问时间,创建时间作为value,
---------------------------------------------------------------------------------------

前端设计一:

1.功能一:收集长链接,生成短链接


dag过程:收集长网址,并确认长网址有效。如果有效,则生成短 URL 并将其传递给后端服务器。


1.收集长URL:通过在index.html中设计一个表单,客户输入表单后,使用requests.form方法获取表单内容。


2.检查长URL是否有效:通过checkurl(longurl)函数,当longurl有效时返回1短链接url跳转,否则返回0。


3.生成短网址:createshorturl(longurl) 函数。


4.参数函数:linkshort_long(shorturl,longurl)


将长短链比较信息做成字典,将字典转换成json字段。


restapi方法将相关信息传输到后端:requests.post("URL", json=post_data)


def checkurl(longurl):
    #判断longurl 是否可以访问
    #如果是有效的,返回头为200,则返回1
    #如果长连接无效,返回头为200 之外的,则返回0
    return result
def createshorturl(longurl):
    #头几个字符基于时间-年月日时
    #后几个字符取长链的前几个字段
    return shorturl
def linkshort_long(shorturl,longurl):#生成一个json字段,并作为post逻辑的输入。
    #后续这个字典被Json化后传入到服务器后端,后端程序基于short url 及 createtype 可以做插入redis的操作。
    dic = {"shorturl":shorturl,"date":date,"longurl":longurl,"createtype":"build"}
    return dic

前端设计2:


dag流程:收集短网址,如果短网址存在,则接收服务器的重定向请求,跳转到短网址对应的长网址链接。


2-1 收集短url:通过在index.html中设计一个表单,客户输入表单后,使用requests.form方法获取表单内容


2-2 检查短url是否存在:通过checksurl(shorturl)函数,短url有效时返回1,否则返回0(服务器)



2-3 跳转到长URL:通过jumpurl(shorturl)函数向服务器请求。服务器首先判断短网址是否存在,如果存在则重定向。


Jumpurl 功能设计:


1.访问后端服务器,requests.post(url/api/jump,""),后端服务器根据URL的具体api返回信息,返回值包含网址信息


2.服务端应该构造返回的Header值,让客户端浏览器根据Location参数跳转到对应的长链URL


def checksurl(shorturl):
    #检查shorturl 是否在后台服务中存在,
    #后台判断是否存在,如果存在则返回确认
    #如果存在则返回值为真,否则为假
    return result
def jumpurl(shorturl):
    #发数据到服务端,
    #服务端判断短链是否存在
    #如果存在则返回 redirect header,做301
    #同时服务端做一个记录。

前端设计3:

3.功能3:请求短链的访问信息并显示:


dag过程:收集短网址对应的信息优化的解决方案:57 个挑战中的 54 个,实现一个 url 跳转服务(三),如果存在短网址,返回短网址被发送的次数等信息


3-1 在步骤2-3中,每次服务器指定要跳转的后端,记录短URL被访问的时间。


#根据请求,做相关展示逻辑。
@app.route('/shorturl/stats')
def route_statics():
    #从requests 里面获取shorturl的信息
    #post到服务端,收集访问信息
    #从服务端获取返回数值字典
    #用返回字典做展示,跳到一个单独的页面,用render_template模版。
    return dict

服务器操作:

每次访问短链,做一次访问统计:


3-1-1:{short url: access time}存储在redis的另一个表中。


3-2-2:对之前的数据结构进行更新,主要是更新shorturl的值,增加一行访问时间。


3-2 发起请求,传递request.post()函数,传递参数/api/statics到后端


收集后端返回的json字符串,查询时间,短url短链接在线生成,以及该url的访问列表,{date:[list],"shorturl",url, visittime:[list]}。


使用json.loads()获取信息,然后收集visittime信息


根据天的维度制作访问时间的图像。 ---操作


def check_ifexist(longurl):
# 检查长链接是否存在,如果存在则跳过
def record_check(dic1):
    #收集长短链的链接请求,如果是访问/api/record 则进入逻辑
    #把字典信息直接写redis(),
    #redis插入,主要插入短链(key)及短链的对应信息表结构(value),另外针对长链接是否存在的表结构(key为长链接,value为1)
def record_route(shorturl):
    #收集route请求,如果访问的是/api/route ,则进入逻辑
    #查询短链对应的长链接
    #返回header指定location 为长链接
    #通过update redis表,记录这次访问,

Redis 数据结构设计:

表 1:

键:值

shorturl:{"对应长链接":longurl,"访问时间":[visitdate1,visitdate2],"创建时间":createdate} 以短链接为key,创建长链接的信息和访问时间链接时间作为值。

这样设计表结构的作用是可以查看每次访问的访问时间,方便查看shorturl被访问的情况。


表 2

键:值

长网址:短网址

主要用于查询对应的longurl是否存在。将其用作 Key 更容易。

先写到这里,感觉还是挺复杂的,不过经过上面的分析,其实大体的程序框架就准备好了。


以上就是关于《功能详解:实现短链接url跳转服务》的全部内容了,感兴趣的话可以点击右侧直接使用哦!》》在线短链接生成

爱短链平台各工具使用方法及功能汇总

短链接

活码系统

微信外链

抖音卡片

相关搜索

创建短链接

注册与登录 首先,访问爱短链的官方网站,点击右上角的“注册”按钮,填写相关信息完成注册。注册成功后,使用账号和密码登录到平台后台。登录过程简单快捷,支持微信扫码和手机验证码等多种方式。 获取长链接 在准备创建短链接之前,你需要先获取想要缩短的长链接。例如,在微信公众号后台,打开需要生成短链接的文章,将该文章的长链接复制到剪贴板中。 生成短链接 登录爱短链平台后,你会看到后台界面提供了多种功能选项。点击“短链”功能,将刚刚复制的长链接粘贴到指定的输入框中。爱短链还允许用户绑定自己的域名,使短链接更具个性化和辨识度。设置完成后,点击“生成短链接”按钮,平台会立即为你生成对应的短链接。 使用短链接 短链接生成后,你可以将其复制并粘贴到公众号推文中需要添加链接的位置,如正文内容、阅读原文链接、公众号菜单栏等。在正文中插入短链接时,可以搭配一些吸引人的引导语,如“点击下方链接查看更多精彩内容”或“详情请戳[短链接]”等,以提高用户的点击率。

爱短链

2025-02-20 14:33:23

抖音链接跳转微信

抖音链接跳转微信不仅为品牌营销和个人推广提供了更多可能性,也为用户带来了更加便捷、高效的信息获取和互动体验。在未来,随着社交电商的蓬勃发展和用户需求的不断变化,抖音链接跳转微信将成为越来越多用户的首选引流方式,助力品牌营销和个人推广迈向新的高度。

爱短链

2025-01-15 16:13:31

活码二维码生成器在线

活码二维码生成器在线工具如爱短链等,操作简单,无需复杂的技术知识。用户只需在网页上打开相应的生成器平台,按照提示进行操作即可。通常,用户需要输入想要关联的信息,如网址、文本、图片、文件等,然后选择一些个性化设置,即可快速生成一个活码二维码。

爱短链

2025-01-15 16:13:31

生成短链接的工具

长链接的繁琐与不便愈发凸显,而一款优秀的短链接生成工具则成为了信息高效传播的关键。爱短链,正是这样一款脱颖而出的卓越工具,为你带来前所未有的链接管理体验。

爱短链

2025-01-15 16:13:31

跳转卡片在线生成

爱短链平台提供高效的跳转卡片在线生成功能,用户可轻松定制卡片模板,填入链接与信息,即刻生成吸引眼球的跳转卡片,适用于社交媒体、营销活动等场景,助力提升点击率与营销效果,实现精准引流。

爱短链

2025-01-15 16:13:31

最通俗易懂的短链接原理讲解

看了看,想要了解短链接算法的伙伴还是蛮多的,那么今天爱短链小编就帮大家带来详细的介绍。

爱短链

2022-05-30 15:20:34

微信活码的功能特点介绍

微信活码是营销推广行业必备的一个神器,它不但可以帮助我们更好的裂变,还能降低用户流失率。

爱短链

2022-05-19 12:37:01

营销推广必备的5个效率小工具

营销推广不仅要靠扎实的专业知识,在工具使用方面也是非常重要,没有好的工具就算自己有多么厉害的技能也会事倍功半。

爱短链

2022-05-18 14:08:22

用户喜欢

缩短链接:链接在线一键秒缩短

缩短链接是一种将长网址转换为短网址的服务,通常用于社交媒体、短信、电子邮件等场合,以便更简洁地分享链接。以下是一些在线一键缩短链接的方法和工具:

爱短链

2025-02-19 10:16:16

网址简化:1秒简化网址

网址简化,也称为URL缩短,是指将冗长的网址转换为简短、易记的链接。以下是几种快速简化网址的方法:

爱短链

2025-02-19 10:16:16

网站链接太长怎么缩短

当遇到网站链接太长需要缩短的情况时,可以采取以下几种方法:

爱短链

2025-02-18 16:04:47

h5页面跳转微信小程序

H5页面跳转微信小程序的需求普遍存在,因为微信小程序只能在微信内部访问,而H5页面可以在任何浏览器中访问,因此需要通过跳转来实现两者之间的衔接。以下是H5页面跳转微信小程序的主要方式:

爱短链

2025-02-18 16:04:46

链接缩短,教程分享,一招把链接缩短

链接缩短是一个方便用户分享和访问长链接的有效方法。以下是一招把链接缩短的详细教程:

爱短链

2025-02-18 14:15:53

微信卡片链接生成

微信卡片链接是指在微信中分享的一个特定格式的链接,通过该链接可以展示网页或内容的相关信息,并以卡片的形式呈现给接收者。以下是生成微信卡片链接的详细步骤:

爱短链

2025-02-18 09:57:08

微信活码免费在线制作

微信活码是一种可以智能切换的二维码,通常用于解决微信群扫码人数限制、微信号无限加好友、多渠道引流等问题。以下是一些免费在线制作微信活码的方法和步骤:

爱短链

2025-02-18 09:57:08

微信群活码,免费生成,永久生效

微信群二维码本身具有7天的有效期,微信官方并未提供直接生成永久有效微信群二维码的功能。但可以通过一些第三方工具实现类似永久有效的效果,以下是几种免费生成微信群活码并尽量保持其长期有效的方法:

爱短链

2025-02-18 09:57:08

全平台跨域跳转微信工具,助力企业全渠道获客

爱发布客服-依依

公网安备32010402001342号

苏ICP备2021048188号-3

© 爱短链 2019 | 南京推吧网络科技有限公司版权所有

客服