使用.net 自建短链接(短网址)
短连接大家都不陌生,例如新浪的 t.cn 、京东的 3.cn 、淘宝的 tb.cn 等等。都已经是家喻户晓的短连接域名。不知道有多少人像我一样,对短连接原理好奇而且尝试自建了呢?
今天发布这个文章的目的,就在于分享一下我的自建短连接过程。首先解释下短连接的实现原理,相信很多读者,在看完原理之后,已经有能力自己编写这样一个工具出来。
短连接构成:协议+域名+参数
例如:我的阿里云幸运券连接http://wzfw.ltd/qjyl 。就是由“http://” + “ wzfw.ltd” + "qjyl"三个部分组成。其中http为协议,也可以是https。wzfw.ltd为域名,我手里暂时没有更短的限制域名,就暂时使用这个了。最关键的是最后一部分“qjyl”,我暂时称作他为code。其实这个code就是一个数据库里的唯一标识列
短连接用途
最简单的用途就是他的名字直译“短”的“链接”,可以把长长的一串链接缩短成为几个简单的字符。但今天我要说的用途不是缩短,而是统计用量,关于这一点待会说到实现原理时候会重点解释。另外,偶然发现还有一个作用,就是突破域名屏蔽,关于这一功能点,纯属巧合。当下微信里传播的很多假红包假活动网站,都是类似于短连接这种多级跳跃方式突破的域名封锁。
短连接原理
创建一张数据库表,仅需要有2列即可:code列和url列。
code列也就是标识列,建议直接设置为非自增主键。用于存储短连接参数代码,也就是短连接里的code。url列用于存储要跳转的原始url。此处我是出于自用目的,因此不做额外限制。
短连接原理非常简单,就是用户访问短连接地址,到达我们的短连接网站,然后网站通过短连接里的code,查询数据库得到原始url,然后让网页跳转到原始url即可。文章标题所说的链接推广分析功能,就是在这个过程中,记录访客的某些信息,例如:访问时间、访问的短链接、访客的IP、访客的UserAgent信息等。基于这些信息,配合推广方式,就可以辅助判断出什么时间,什么范围,什么人群的推广更有曝光效果。
自建短连接站点
自建短连接需要一下条件:
域名。尽量短,最好是连同空间一同完成备案
空间或者服务器。国内用,建议选择国内服务商。
网站源代码。.net 、java、php等网站开发语言均可。
数据库。不要求是否是sql,只要能完成键值对对照关系即可。
由于短连接是唯一中间连接,因此需要购买的空间或者服务器尽可能稳定,在这里,我插播一点广告信息,欢迎大家参考选购,算做是对本文的支持。
推荐大家使用阿里云的ECS,购买步骤如下
【Step1】:领取我的阿里云幸运券(http://wzfw.ltd/qjyl )
【Step2】:新用户199元一年特价ECS,1核2G(http://wzfw.ltd/ecs199)
新用户和老用户另外三种配置特价机型可选(http://wzfw.ltd/ecs330),价目如下:
1核1G=330一年,660两年,800三年
1核2G=660一年,960两年,1320三年
2核4G=825一年,1260两年,1650三年
【Step3】:新用户用券下单完成可抽奖(抽奖地址:http://wzfw.ltd/jiang)。目前奖品中,小米电源和阿里云T恤衫概率很高。
广告结束,欢迎回来!
实现代码:以.net为例,开发工具VS2015,采用 MVC5.0 建站,代码直接上图:
1,添加路由:
2,记录日志,代码和日志截图
3, 短连接功能实现,为便于展示,这里使用测试代码,实际代码替换为数据库查询即可(截图中,红框2内容)
文章到此结束,相信到了这一步,不需要我分享源代码,具备开发能力的你也可以制作出自己的短连接工具网站了。目前我的短连接站点虽然简陋,但是已经足以实现我统计推广的目的。文中不可避免的出现了我的推广广告,还请各位多多包涵!在此感谢您的阅读和支持!
原文链接 :https://www.opengps.cn/Blog/View.aspx?id=32 ,更新以此为准
使用.net 自建短链接(短网址)的更多相关文章
- 世界上最好的语言搭建短链接及统计功能(附API代码)
前言 在这个营销的时代,短链接和二维码是企业进行营销中非常重要的工具,不仅仅是缩短了链接,而且还可以通过扩展获得更多的数据,诸如点击数.下载量.来源以及时间等等. 网上搜寻了一下比较有名有U.NU和0 ...
- 新浪微博API生成短链接
通过新浪微博API,生成短链接,支持一次性转多个长链接 什么是短链接 短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串. 短链接服务 国内各大微博都推出了自己的短链接 ...
- Java 网址短链接服务原理及解决方案
一.背景 现在在各种圈的产品各种推广地址,由于URL地址过长,不美观.不方便收藏.发布.传播以及各种发文字数限制等问题,微信.微博都在使用短链接技术.最近由于使用的三方的生成.解析短链接服务开始限制使 ...
- 如何利用新浪官方的短网址API接口实现T.cn短链接的压缩生成
短网址的实现原理就是有一个数据表会配置文件将短网址和实际网址进行对应,当请求某个短网址时,程序跳转到对应的实际网址上去,从而实现网址的访问.目前国内最稳定最好用的是新浪T.cn短链接. 之前新浪提供了 ...
- 腾讯短链接url生成接口/腾讯短网址在线生成/新浪微博短链接生成器的分享
在通常情况下,URL是由系统生成的,通常包括URI路径,多个查询参数,可以对参数进行加密和解密. 当人们要分享某个URL,比如短信,邮件,社交媒体,这就需要短URL.而短网址,顾名思义就是在长度上比较 ...
- 短网址url接口api,url短链接(t.cn、url.cn)生成
简要说明 短网址api接口有很多格式,不同的接口生成的短网址格式也不同,比如常见的t.cn.url.cn.w.url.cn等格式.总而言之短网址接口就是用来将一个冗长的链接缩短成10个字符以内的短链接 ...
- PHP实现新浪长链接转化成短链接API
我们经常收到类似于这样的短信(如下图),发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实 ...
- 微信开发第8章 通过accesstoken将长连接转换为短链接
业务场景:开发的过程中经常会有一些很长的链接,这个时候如果生成二维码,会导致扫码的过程中识别比较慢,如果存入数据库,会导致数据库的字段长度要设定的很长才行,所以把长连接转换为短链接就越来越重要了. 接 ...
- 新浪短链接API接口示例
<?php /** * URL地址长短切换,由sina新浪短链接API生成 * User: chenqt * Date: 2016/8/23 * Time: 18:45 */ class Url ...
随机推荐
- canvas自适应圆形时钟绘制
前面的话 前面介绍过canvas粒子时钟的绘制,本文将详细介绍canvas自适应圆形时钟绘制 效果演示 最终自适应圆形时钟的效果如下所示 功能分析 下面来分析一下该圆形时钟的功能 [1]静态背景 对于 ...
- 解说asp.net core MVC 过滤器的执行顺序
asp.net core MVC 过滤器会在请求管道的各个阶段触发.同一阶段又可以注册多个范围的过滤器,例如Global范围,controller范围等.以ActionFilter为例,我们来看看过滤 ...
- js中匿名函数
今天碰到一道题,里面既包含了匿名函数的知识,也包含了预编译,函数的传参(形参),感觉迷迷糊糊的,所以想着做个总结. var foo={n:1}; (function(foo){ console.log ...
- nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存
一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发 ...
- 通俗易懂的Java序列化原理
序列化能干吗? (1)通过序列化可以把数据永久地保存到硬盘上(通常存放在文件里) (2)利用序列化实现远程通信,即在网络上传送对象的字节序列. 网上搜索的都是这样的解释,抽象,难懂. 我当时看见这两问 ...
- [2015-11-10]iis远程发布配置
近期工作总结备忘,下次重新部署时再总结更新. 基本流程 一台初始化的win2012: 安装服务器角色,启用IIS,启用IIS管理服务,启用.Net相关框架等: 安装webdeploy工具(选择完整安装 ...
- hibernate的基本配置
1 Hibernate是一个非侵入式的ORMapping的框架. 2 Hibernate是一个能够将JAVA对象 通过 映射关系 映射到 关系型数据库的 这样一个框架 Hib ...
- Ext:ComboBox实战
var gsCombo = new Ext.form.ComboBox({ id:'combo', hiddenName:'value', fieldLabel:'下拉框', triggerActio ...
- java多线程知识点概述
这里只起一个概述的作用,极其简单的列一下知识点,需要在脑海中过一下,如果哪些方面不熟悉的话,建议利用网络资源去学习. 1.线程.进程概念 概念 线程状态及其转换 2.死锁.预防.解决 3.jdk线程实 ...
- JS中的DOM操作和事件
[DOM树节点] DOM节点分为三大类: 元素节点. 属性节点. 文本节点: 文本节点.属性节点属于元素节点的子节点.操作时,均需要先取到元素节点,再操作子节点:可以使用getElement系列方法, ...