新浪短网址API是新浪对外公开的t.cn短链接生成接口,可以将长网址缩短生成 http:/***xxxx 格式的短网址,目前网上有很多相关的接口,大多数都不能用,而且找起来也麻烦,分享一个自己收藏了很久的接口地址,用了快一年了,一直没掉过链子,大家可以试试。
http://lnurl.cn/sina/short-api?url_long=http://www.baidu.com
1、在线使用
将API地址中 "http://www.baidu.com" 的部分换成自己的长网址,然后复制,在浏览器中粘贴打开就能生成了。
2、对接程序使用
如果嫌在线生成麻烦,可以将API接口对接到程序中自动生成,下面是不同语言的调用演示代码,大家接入的时候可以参考下。
- $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;
- 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"));
- }
- 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短链接是永久有效的,没有点击次数限制,可以放心使用。