背景
新浪短网址api是sina平台官对外公开的短网址生成接口,可以将长链接通过接口生成t.cn样式的短链接,可以说是非常好用的。但近期新浪官方开始对已经公布的接口做出了多重限制,很多之前能用的功能现在都频频被限制,甚至有的时候接口一更新就失效了。
今天给大家分享一个2020年最新的新浪短网址api接口,亲测很稳定,接口支持多种格式生成,多种语言如PHP、Java等调用。
接口详情新浪短网址API接口支持:XML和JSON两种格式
请求方式为:POST
接入语言支持:PHP、Java和Python
接口获取流程
1、打开新浪短网址API获取地址:http://lnurl.cn/
2、进入页面后,点击“立即开通”获取接口授权key
3、注册账后获取接口key
4、获取接口
接口使用说明:
1、在线使用
将API地址中 "http://www.baidu.com"的部分换成自己的长网址,然后复制前往浏览器中粘贴打开就能生成了。
2、请求接口
如果嫌在线生成的流程很麻烦,可以将API接口对接到程序中请求生成,请求示例如下。
PHP请求示例:$url = 'http://www.baidu.com';$api_url = 'http://lnurl.cn/sina/short-api?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://lnurl.cn/sina/short-api?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://lnurl.cn'
path = '/sina/short-api'
method = 'GET'
querys = 'url_long=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)
注意事项:
1、调用API接口时,只需将 “http://www.baidu.com”换成需要缩短的长链接即可。
2、接口支持链接中带参数,但要注意的是当链接中出现 & 符号时,请用 %26 代替(或者使用url编码),否则参数可能会丢失。
3、更换链接时,必须要以http(s)://开头,否则可能会导致短网址生成失败或者生成的短网址无法跳转访问原网站。
4、上文提到的新浪短网址API接口,经测试都是比较稳定的,觉得好用记得收藏一下,以免丢失。
常见问题:
1、长链接转换后,为什么结尾的参数丢失了?
答:因为长链接中含有特殊字符,需要将url编码后再使用接口生成。
2、接口没有返回结果,是什么情况?
答:有些时候接口返回数据会有延迟,超时未返回即生成失败,也就不会返回结果;或者是因为原链接被封了。
3、生成的短链接有效期是多久?有没有访问次数限制?
答:生成的t.cn短链接是永久有效的,没有点击次数限制,可以放心使用。