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

简介:

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

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

相关文章
|
2月前
|
数据采集 Web App开发 JSON
浏览器插件:WebScraper基本用法和抓取页面内容(不会编程也能爬取数据)
本文以百度为实战案例演示使用WebScraper插件抓取页面内容保存到文件中。以及WebScraper用法【2月更文挑战第1天】
108 2
浏览器插件:WebScraper基本用法和抓取页面内容(不会编程也能爬取数据)
|
1月前
|
安全 Android开发 iOS开发
《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(8)-Fiddler如何设置捕获会话
【2月更文挑战第9天】《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(8)-Fiddler如何设置捕获会话
38 5
|
4月前
|
数据采集 Java API
百度搜索:蓝易云【Java爬虫与Python爬虫有什么区别】
综上所述,Java爬虫和Python爬虫在语言特性、代码复杂性、生态系统、并发处理和执行性能等方面存在一些区别。选择使用哪种爬虫工具取决于具体的需求、项目要求和个人技术偏好。
42 0
|
4月前
|
网络协议 JavaScript 前端开发
百度搜索:蓝易云【WebSocket是什么,怎么用?】
综上所述,WebSocket是一种在Web浏览器和服务器之间实现双向通信的协议,通过创建WebSocket对象、处理WebSocket事件、发送和接收消息以及关闭连接来使用WebSocket。它提供了实时、持久且高效的通信方式,适用于各种实时应用场景。
36 7
|
4月前
|
测试技术 Go
【测试平台系列】第一章 手撸压力机(五)- 结构化http请求配置
我们现在将上一级称之为TestObject(测试对象),现在我们梳理一下TO(测试对象简称,以后的文章中TO都代表测试对象)都需要哪些字段。
|
7月前
|
存储 缓存 安全
短网址服务设计整理
短网址也称短链接、短链。由于短信、微博等平台,对于内容有长度限制,过长的url不适合直接在微信、短信等平台直接发送原始地址,需要缩短长度。转换后的短网址用于消息发送,也可以避免过多的无用信息影响用户体验。
213 0
|
8月前
|
数据采集 前端开发 Python
Python爬虫与逆向工程技术的结合,实现新闻网站动态内容的多线程抓取
Python爬虫与逆向工程技术的结合,实现新闻网站动态内容的多线程抓取
|
8月前
|
JavaScript 小程序 数据库
云开发(微信-小程序)笔记(十二)---- 搜索
云开发(微信-小程序)笔记(十二)---- 搜索
57 0
|
12月前
|
算法 Java PHP
半天不到,实现仿微博URL短地址算法与解析
半天不到,实现仿微博URL短地址算法与解析
|
12月前
|
算法 数据库 Python
02 奇妙的Python库之【pyshorteners(短网址)】
02 奇妙的Python库之【pyshorteners(短网址)】
02 奇妙的Python库之【pyshorteners(短网址)】