Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1069
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2020-04-16 16:56
文章分类

全部博文(1)

文章存档

2020年(1)

我的朋友
最近访客

分类: 网络与安全

2020-04-16 16:57:33

一个复杂且长的链接(url)如何变成一个短小精悍的短链接?我们可以借助新浪微博短链API,可以将任意长度的url都变成形如t.cn/XXXX格式的短链接。本文介绍下微博的这个短链API,以及提供一个短链生成工具。

t.cn是新浪花重资买下的一个域名,也有说法是某某大佬买下后来送给新浪的,这个不重要,反正现在t.cn是属于新浪的了,直接访问t.cn会跳转到weibo.com,也就是新浪微博的网站。

新浪在得到t.cn这个域名后,开放了以这个域名为基础的微博API,其中一个就是短链接口,顾名思义,就是通过这个接口,任意url都可以生成一个短链接。例如就是的短链接。

上方介绍的短链接口API第二版中需要access_token,参数介绍“采用OAuth授权方式为必填参数,OAuth授权后获得”,看了下介绍,是需要用户先登陆微博才会有这个授权,只是为了做这个简单的短链工具,肯定不能每次都登陆啊!所以这个时候我们就需要借助一些第三方的工具来实现这个功能了!

微博短链接在线生成工具

 麦云短网址


可让您通过简单地复制粘贴链接就能缩短你的长链接,把你的URL转换简短的,您在几秒钟内就可以设置一个新的短链接域名,用于包装你的长链接,且无需验证码或额外的验证。平台支持API接口调用以及在线生成2种请求方式:

在线生成

新浪短网址在线压缩:

1、复制要缩短的网址。粘贴到输入栏。你可以缩短任何长网址,长度不重要。

2、将要缩短的URL粘贴到新浪短链接生成器后。把你的光标移动到缩短按钮。点击“生成”按钮。它会为您创建缩短的URL。您的新缩短的URL将被显示。自己保存好缩短的链接就可以了!

API接口调用

新浪短网址API接口地址:

PHP调用演示:

$url = '';
$api_url = 'weibourl?url_long=;
$short_url = file_get_contents($api_url);
echo $short_url;

JAVA调用演示:

public static void main(String path[]) throws Exception {
URL u=new URL("weibourl?url_long=");
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 = ''
path = 'weibourl?url_long='
method = 'GET'
querys = 'url=http%3A%2F%2F'
bodys = {}
url = host + path + '?' + querys
request = urllib2.Request(url)
response = urllib2.urlopen(request)
content = response.read()
if (content):
print(content)

注意事项:

① 调用api接口时,只需将 “”换成需要缩短的长网址即可。

② 接口支持url参数,当url中出现 & 符号时,请用 %26 代替(或者使用url编码格式),否则参数可能会丢失。

③ 填写url时,必须要以http(s)://开头,否则可能会导致生出的短网址无法访问原网站。

④ 上文提到的几个url.cn短网址api接口,经测试都是比较稳定的,觉得好记得收藏一下,以免丢失。

常见问题:

① 长链接转换,为什么结尾的参数丢失了?

答:因为url中含有特殊字符,需要使用UTF8编码格式,将url编码

② 接口没有返回结果,是什么情况?

答:有些时候接口返回数据会有延迟,延时未返回则会提示生成失败;或者是因为原链接被封了。

③ 生成的短网址有效期是多久?有没有访问次数限制?

答:生成的短网址都是永久有效的,而且没有点击次数限制,可以任意使用

阅读(200) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~