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

简介:

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

一、短链接介绍
举个例子,现在我的推广的地址是这个: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重定向。

相关文章
|
4月前
|
数据采集 Java API
百度搜索:蓝易云【Java爬虫与Python爬虫有什么区别】
综上所述,Java爬虫和Python爬虫在语言特性、代码复杂性、生态系统、并发处理和执行性能等方面存在一些区别。选择使用哪种爬虫工具取决于具体的需求、项目要求和个人技术偏好。
42 0
|
7月前
|
存储 缓存 安全
短网址服务设计整理
短网址也称短链接、短链。由于短信、微博等平台,对于内容有长度限制,过长的url不适合直接在微信、短信等平台直接发送原始地址,需要缩短长度。转换后的短网址用于消息发送,也可以避免过多的无用信息影响用户体验。
213 0
|
8月前
|
数据采集 前端开发 Python
Python爬虫与逆向工程技术的结合,实现新闻网站动态内容的多线程抓取
Python爬虫与逆向工程技术的结合,实现新闻网站动态内容的多线程抓取
|
12月前
|
算法 Java PHP
半天不到,实现仿微博URL短地址算法与解析
半天不到,实现仿微博URL短地址算法与解析
|
12月前
|
算法 数据库 Python
02 奇妙的Python库之【pyshorteners(短网址)】
02 奇妙的Python库之【pyshorteners(短网址)】
02 奇妙的Python库之【pyshorteners(短网址)】
|
搜索推荐 测试技术
软件测试面试题:在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试。
软件测试面试题:在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试。
77 0
|
数据采集 数据库 Python
Python爬虫:利用百度短网址缩短url
Python爬虫:利用百度短网址缩短url
222 1
|
域名解析 网络协议 网络架构
|
数据采集 存储 JSON
我用Python爬虫爬取并分析了C站前100用户最高访问的2000篇文章
我用Python爬虫爬取并分析了C站前100用户最高访问的2000篇文章
178 0
我用Python爬虫爬取并分析了C站前100用户最高访问的2000篇文章