当前位置:首页 > TAG信息列表 > 一个木函生成app怎么添加多个网址有没有免费的短网址工具?

一个木函生成app怎么添加多个网址有没有免费的短网址工具?

一个木函生成app怎么添加多个网址 有没有免费的短网址工具?

有没有免费的短网址工具?

我是@程序员小助手,本文从技术角度,对短网址参与深度挖掘。

前言网上早就有产品,用着还确实不错。可是,以及程序员,从头学习造轮子,变更土地性质一个都属于自己的短网址服务器,这想法amazing!

本文,读者可很清楚短网址的技术原理,这些实际go语言实现程序一个短网址服务。

一个木函生成app怎么添加多个网址 有没有免费的短网址工具?

简明教程短网址为什么不存在地?

微博等产品的兴起,异常活跃了网上的社交圈内大多数用户。不过微博象有140字限制,如果没有不再转发,单单评论文字,再而且一段网址,极有可能最多限制而被截断。

短网址应运而出,用较短的一个字符串,替换较长的一个字符串,从观感上讲,效果要不友善的多。

从技术原理上说,短网址是一个hash表,主要用于映射两个字符串的对应关系。

可以使用键,找到按的值,重定向进行访问,就成功了整个流程。

短网址算法短网址的一般结构,比如新浪的swutjn,其中后端的一段6位字符串,就是单独同样标记一条记录的id。那你,可以使用什么算法,可以不生成一条无反复重复的id呢?

在用通用的做法,不使用0-9a-za-z总共62个字符,我们看使用hash键位数三个有多少种排列组合情况。

1位:pow(62,1)62种

2位:pow(62,2)3844种

3位:pow(62,3)238328种

4位:pow(62,4)14776336种

5位:pow(62,5)916132832种

6位:pow(62,6)56800235584种

一般情况下,6个字符,就相当可以使用了,一共568亿种可能。

还有一个一种情况是,用原网址字符串的md5值,约计32位,然后把通过切分为4段,三个按位与运算,并裁剪到30位。不要超过5位推举该位的字符另外该段索引,共6位。可是这种做法也有几率发生了什么重复,也不非常直观。

因此本文不使用第一种算法生成键id。

工具打算分析什么短网址的特性,中有200元以内项目:

唯一性:键是需要全局同样时效性:键不需要有快过期时间目标网址任何,假如重复,则手动直接返回既有的键。决定到根据上述规定情形,我们可以使用redis存储这些对应关系。在用gin框架作为路由和控制器,可以提供联合的api访问。

核心函数计算机中最常见的一种的2进制,8进制,10进制,16进制,我们此处必须建议使用62个字符,循环来表示一个整数,这样的话可称之为62进制。

下面使用go语言实现这个函数,应用于将横竖斜的整数(uint64)转换成为(0-9a-za-z)的字符串。

不需要尽量,基础的方法,那是运行取余数,根据进制字典,索引相对应的字符,然后将各个余数拼接出,那就是结果。

这个计算方法,与2进制,8进制,原理是相同的。

因此字典比较好长,有62个键值对,我们仅列出来一部分。

上述函数的转换结果,像648926400175ai0p

功能规划下面是相对于系统路由,修改短链接,和使用短链接ftp连接目标网址的方法。

1-规划路由

路由比较比较简单的,最少2个,一个post方法,生成气体短链接;一个是get方法,ftp访问短链接。

代码::

2-引导出redis并初始化

目的是方便啊演示,我们建议使用redis存储键值,并设置expire时间。我们不使用go-redis可以提供的接口操作redis数据库。

下面是全局的

对象化合,和系统初始化函数。

这样的话做的好处是,我们全局都可以建议使用变量rdb动态创建方法操作redis键值。

3-实现post路由方法:omit

本函数主要是用于接收form表单数据,能生成一个全局真正的hash,充当键,存入redis,设置中值和有效期时间。

代码追加:

本段我们在用了一个getcounter函数,这是设置在redis内的键,将其每次各位创建角色的时候,自增1,可能保证无重复。依据什么这个计数器,我们调用helper的dectoany方法,将其能量转化为62进制的字符串,另外全局同样的hash值。

下图是getcounter的定义:

最重要的尽量的是,helper包,是我们在“核心函数”部分定义的函数。在主函数体内摘录。

4-实现get方法:visit

本函数主要注意应用于使用上一节接口化合的短链接,接受访问,并自动出现重定向到目标网址。

代码不胜感激:

对于不存在的短链接,或者redis声望兑换失败,赶往错误`信息。

如果存在,在用301statusmovedpermanently状态码重定向到目标地址。

测试我们不使用curl工具,测试3上列两个接口。

简单,使用post表单递交数据:

curl-s-xpost-dtarget-dexpire600:9090/

本案所涉方法,我们递交了两个参数,爆击路由之后,会访问网络上一节第3条的add方法,并生成气体一个短链接网址。前往json格式数据万分感谢:

{message:ok,large_url::9090/75ai0r,status:1}

其中,short_url就是短网址。

随后,我们在建议使用curlftp连接这个链接,看有无发生重定向。截图万分感谢:

可以看到,执行了301重定向,并提出了目标网址,与我们上述表单要想创建的地址相同。

最后,故障测试。ftp连接一个不修真者的存在的hash,看是否是首先排除异常信息。截图不胜感激:

看的到,先执行了错误直接返回信息。

结语以上我们可以使用go语言框架gin实现了两个路由,并建议使用redis管理短链接。核心函数可以使用helper包管理,经过测量,实现方法了短网址的功能。

不超过代码在本地测试通过,也可防御部署到线上服务器组织开发端口,提供服务,效果是一样的。

希望按照这个流程,使大家对于短网址的知识,有一些打听一下,并能依据什么自身的编程能力,创作作品出更合适得用短网址服务。

beautifulcoding:-)

【本文由@程序员小助手先发布,缓慢分享分享编程与程序员相关的内容,记得关注】

必备手机应用有哪些呢?

很欢喜能问你的问题,手机必备软件,相对于每个人来说,是都一样的,下面是我个人观点,期望能帮助到你,谢谢啦

视频打开程序中...

网址方法函数redis


重庆旅游网 雅圣思

  • 关注微信关注微信

猜你喜欢

热门标签

搜狗浏览器收藏夹默认路径 微信信息没有备份删除以后可以恢复吗 华为手机怎么连接电脑操作 京东使用技巧和方法 微信商户平台修改结算方式 支付宝怎么绑定自己的车辆 天气预报西瓜在线观看 雄迈摄像头怎么连接 qq怎么删除下载的安装包 怎么用电脑发射wifi电脑如何设置Wi介绍 电脑版抖店怎么登陆 荣耀手机悬浮导航开启后有什么用荣耀手机屏幕浮标怎么设置? 电信短信怎么查自己用的什么套餐电信手机怎么查消费情况? 怎么把证件照改成一寸照片手机怎么拍一寸证件照?介绍 如何把word题目转换成excel 电脑网页画面大小怎么调电脑窗口显示缩放比例快捷键是什么? 手机设置通话中自动录音手机怎么设置自动录音? win11此电脑图标不见了怎么调回来电脑桌面图标不显示名称咋办?介绍 安卓手机看书技巧大全有没有什么好用的手机学习软件推荐?介绍 如何消除滴滴出行记录oppo手机滴滴行程记录怎么删除? 电脑上怎么打除法符号 为什么iphone连着wifi不能上网 浏览器菜单上的三条杠在哪手机根目录去哪找? 苹果手机怎么拍摄夜景照片苹果12拍夜景怎么拍得清晰? 华为nova9pro价格 3dmax车削如何调出3dmax怎么把车削中间的洞给闭合啊?介绍 vivo手机便签删除了怎么恢复 什么软件能打开加密的wifi 杜比全景声耳机mate的杜比音效为什么只有有线耳机才有?介绍 支付宝拍店小程序支付宝店铺门头是如何审核的?

微信公众号