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

简介:

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

一、短链接介绍
举个例子,现在我的推广的地址是这个: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月前
|
自然语言处理 前端开发
「前端秘籍」中文内容随机生成妙技
在前端开发中,生成随机中文字符是一项常见的需求。通过使用`Unicode码`和`GBK2312`编码,我们可以满足不同的需求,并生成符合特定编码方式的中文文本。
18 0
|
4月前
|
数据采集 JavaScript 前端开发
构建你的第一个Python爬虫:抓取网页数据入门指南
【8月更文挑战第31天】在数字时代,数据是新的石油。本文将引导初学者通过简单的步骤,使用Python编程语言创建一个基础的网络爬虫程序。我们将探索如何从网络上提取信息,并理解背后的原理。无论你是编程新手还是想要扩展你的技术工具箱,这篇文章都将为你提供一条清晰的道路,让你学会编写能够自动获取网络数据的脚本。准备好开始你的网络数据抓取之旅了吗?让我们现在就开始吧!
|
4月前
|
数据采集 存储 编解码
简略nodejs爬取网站内容技术
互联网公开信息可通过数据爬取获取,常用Python实现。利用URL以HTTP形式抓取数据,需登录验证时使用token或账号密码。针对HTML页面,从DOM提取所需内容。Python与Node.js均有丰富库支持爬虫开发。如Node.js下的Axios用于请求数据,iconv-lite处理非UTF-8编码,Cheerio则解析HTML节点。基本流程包括:按规则请求HTTP内容,处理返回数据,并存储解析结果。
|
7月前
|
JSON 自然语言处理 网络协议
【字节跳动青训营】后端笔记整理-2 | Go实践记录:猜谜游戏,在线词典,Socks5代理服务器
猜数字游戏也算是入门一门编程语言必写的程序了。通过这个程序,我们可以熟悉Go语言中的输入输出、流程控制与随机函数的调用。
98 2
|
7月前
|
JavaScript 前端开发 API
Python之JavaScript逆向系列——通过IP代理高频获取全篇小说
Python之JavaScript逆向系列——通过IP代理高频获取全篇小说
76 0
|
存储 缓存 安全
短网址服务设计整理
短网址也称短链接、短链。由于短信、微博等平台,对于内容有长度限制,过长的url不适合直接在微信、短信等平台直接发送原始地址,需要缩短长度。转换后的短网址用于消息发送,也可以避免过多的无用信息影响用户体验。
318 0
|
数据采集 前端开发 Python
Python爬虫与逆向工程技术的结合,实现新闻网站动态内容的多线程抓取
Python爬虫与逆向工程技术的结合,实现新闻网站动态内容的多线程抓取
|
存储 JSON JavaScript
可能不是史上最全但肯定能学会的浏览器存储教程
可能不是史上最全但肯定能学会的浏览器存储教程
128 0
|
算法 数据库 Python
02 奇妙的Python库之【pyshorteners(短网址)】
02 奇妙的Python库之【pyshorteners(短网址)】
02 奇妙的Python库之【pyshorteners(短网址)】
|
Web App开发 存储 开发框架
答粉丝问|火狐浏览器插件简介
答粉丝问|火狐浏览器插件简介
150 0