V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
opengps
V2EX  ›  程序员

自建短连接 - 链接推广分析工具

  •  1
     
  •   opengps ·
    null · 2017-09-18 22:59:54 +08:00 · 2659 次点击
    这是一个创建于 2623 天前的主题,其中的信息可能已经有所发展或是发生改变。

        短连接大家都不陌生,例如新浪的 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 内容)
    短连接逻辑代码

        文章到此结束,相信到了这一步,不需要我分享源代码,具备开发能力的你也可以制作出自己的短连接工具网站了。目前我的短连接站点虽然简陋,但是已经足以实现我统计推广的目的。文中不可避免的出现了我的推广广告,还请各位多多包涵!在此感谢您的阅读和支持!

    opengps
        1
    opengps  
    OP
       2017-09-18 23:37:45 +08:00
    补充一个缺陷,对于 url 中 target="_blank" 的情况,UrlReffer 不能获取到上一个 url,暂时还没有找到解决办法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2396 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:06 · PVG 00:06 · LAX 08:06 · JFK 11:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.