新浪短网址生成器等短链接工具的原理(第二章)

  1. 云栖社区>
  2. 博客>
  3. 正文

新浪短网址生成器等短链接工具的原理(第二章)

风霜雪花 2020-04-23 15:27:00 浏览574
展开阅读全文

最近接了一个需求,涉及到了短链接的相关的知识,于是去查阅了相关的资料,在这里给大家整理分享一下。

一、短链接介绍
举个例子,现在我的推广的地址是这个:https://blog.csdn.net/CSDNedu/article/details/96436633

我通过新浪的短链接服务可以将上面的地址转成:https://t.cn/A6wTyLdA

那我为什么要将原有的URL转成较短的链接呢?比如我们发短信提醒用户去XXX,XXX有优惠活动,在文案上往往会带有一个链接进行跳转,方便用户快速去到对应的活动落地页。而短信的发送是需要成本的,短信的成本主要有两方面组成:

①、发送的人数(发的人越多,自然短信的花费就越大,这个我就不解释了)

②、短信发送的字数(比如,文案总字数超过70个字,那就算两条短信计费,超过140个字就算三条短信计费)

③、所以在发送短信给用户时:要么就投放更加精准优质的用户,以便控制好发送的数量,要么就尽可能控制文案的字数。

显然,如果在短信上配上普通的URL,那真正的文案可写的字数就没多少了。于是我们可以发现,各大公司的短信推送的URL都是短链接。

二、短链接平台推荐
好了废话不多说了直接进入推荐环节:

短链接在线生成工具:

①、http://maiyurl.cn/

②、http://dogdwz.cn/

使用说明:

①、复制要缩短的网址。打开上述平台提供的缩短网址服务。网站提供新浪短链接(T.cn)/腾讯短链接(Url.cn)

②、将要缩短的链接粘贴到生成器的输入框中。点击“生成”按钮。所有更短的网站都有一个按钮旁边的URL字段,点击时,它会为您创建缩短的URL链接。保存好缩短的链接就可以使用了!

API接口地址

①、http://maiyurl.cn/yunapi.html

②、http://dogdwz.cn/api.html

使用说明:

将短网址api接口地址中 "http://www.baidu.com"换成需要缩短的网址,然后直接复制前往浏览器中打开即可。

PHP调用演示:

$url = ‘http://www.baidu.com‘;
$api_url = ‘http://www.qqdwz.cn/sina.php?url_long=http://www.baidu.com;
$short_url = file_get_contents($api_url);
echo $short_url;
JAVA调用演示:

public static void main(String path[]) throws Exception {
URL u = new URL("http://www.qqdwz.cn/sina.php?url_long=http://www.baidu.com");
InputStream in = u.openStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
byte buf[] = new byte[1024];
int read = 0;
while ((read = in .read(buf)) > 0) {
out.write(buf, 0, read);
}
} finally {
if ( in != null) {
in .close();
}
}
byte b[] = out.toByteArray();
System.out.println(new String(b, "utf-8"));
}
Python调用演示:

import urllib, urllib2, sys
host = ‘http://www.qqdwz.cn
path = ‘sina.php?url_long=‘
method = ‘GET‘
querys = ‘url=http%3A%2F%2Fwww.baidu.com‘
bodys = {}
url = host + path + ‘?‘ + querys
request = urllib2.Request(url)
response = urllib2.urlopen(request)
content = response.read()
if (content):
print(content)
三、短链接的定向跳转问题
这也是一个有意思的问题。这个问题主要是考察你对301和302的理解,以及浏览器缓存机制的理解。

301是永久重定向,302是临时重定向。短地址一经生成就不会变化,所以用301是符合http语义的。但是如果用了301, Google,百度等搜索引擎,搜索的时候会直接展示真实地址,那我们就无法统计到短地址被点击的次数了,也无法收集用户的Cookie, User Agent 等信息,这些信息可以用来做很多有意思的大数据分析,也是短网址服务商的主要盈利来源。所以,正确答案是302重定向。

网友评论

登录后评论
0/500
评论
风霜雪花
+ 关注