新浪很久之前提供了长链接转为短链接的公开API,可以把长链接转为t.cn/xxx这种格式的新浪短链接。但是在去年9月的时候,新浪由于政策上的调整,将之前的接口关闭了!
今天就给大家带来几个还可以使用新浪短网址工具:
新浪短网址API接口(亲测可用)
接口1:http://www.sina-url.cn/xinlang?url_long=http://www.baidu.com
接口2:http://www.qqdwz.cn/urlcn/api?url_long=http://www.baidu.com
接口3:http://maiyurl.cn/weibourl?url_long=http://www.baidu.com
接口4:http://www.sinadwz.cn/tcn/api?url_long=http://www.baidu.com
使用说明:
将api接口地址中 "http://www.baidu.com"换成需要缩短的网址,然后直接复制前往浏览器中打开即可。
如需在线生成直接输入API接口的主域名即可!
PHP调用演示:
$url = 'http://www.baidu.com';$api_url = 'http://www.sinadwz.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.sinadwz.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, syshost = 'http://www.wx-dwz.cn'path = 'sina.php?url_long='method = 'GET'querys = 'url=http%3A%2F%2Fwww.baidu.com'bodys = {}url = host + path + '?' + querysrequest = urllib2.Request(url)response = urllib2.urlopen(request)content = response.read()if (content):print(content)
注意事项:
① 调用api接口时,只需将 “http://www.baidu.com”换成需要缩短的长网址即可。
② 接口支持url参数,当url中出现 & 符号时,请用 %26 代替(或者使用url编码格式),否则参数可能会丢失。
③ 填写url时,必须要以http(s)://开头,否则可能会导致生出的短网址无法访问原网站。
④ 上文提到的几个url.cn短网址api接口,经测试都是比较稳定的,觉得好记得收藏一下,以免丢失。
常见问题:
① 长链接转换,为什么结尾的参数丢失了?
答:因为url中含有特殊字符,需要使用UTF8编码格式,将url编码!
② 接口没有返回结果,是什么情况?
答:有些时候接口返回数据会有延迟,延时未返回则会提示生成失败;或者是因为原链接被封了。
③ 生成的短网址有效期是多久?有没有访问次数限制?
答:生成的url短网址都是永久有效的,而且没有点击次数限制,可以任意使用!