2019年9月12号微博开放平台已经关闭了该项服务,所以官方申请api已经成为过去式
具体原因:由于之前新浪流落在外的接口太多,免费且稳定,导致各行各业(主要是擦边行业)都用新浪短网址(t.cn/xxxxx)作为对外入口,用来隐匿真实网址,(至于为什么隐匿,当然不用过多解释),导致新浪服务器不堪重负,已经到了无法承受的地步,最终决定关闭对外借口。
不过值得庆幸的是,新浪并没有关闭已经生成的短链接的跳转服务,之前生成的还能继续跳转
虽然官方关闭了接口,但我大程序员队伍中不乏能人,很多民间高手已经找到解决方案并继续提供了接口
http://sina-t.cn/api?link=http://baidu.com
http://tttool.cn/sina_api?url=http://baidu.com
http://knurl.cn/tcnapi?url_long=http://baidu.com
http://migourl.cn/sina_shorturl.html?text=http://baidu.com
当然,最稳定的应该还是细雨短网址提供的接口,而且因为域名的原因(sina-t.cn),而且确实稳定性比较高,很多用户误以为是新浪官方提供的,其实也我广大程序员队伍创建的是民间组织啦。
将最后的"http://baidu.com"换成要缩短的长链接即可,可以程序调用,也可以直接访问得到结果
这四个接口返回格式相对而言比较简单,直接返回结果
$url = 'http://www.baidu.com'; $api_url = 'http://sina-t.cn/api?link='.urlencode($url); $short_url = file_get_contents($api_url); echo $short_url;
public static void main(String path[]) throws Exception { URL u = new URL("http://sina-t.cn/api?link=http%3A%2F%2Fwww.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://sina-t.cn' path = 'api' method = 'GET' querys = 'link=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://baidu.com”换成需要缩短的长网址即可。
2、接口支持url参数,当链接中出现 & 符号时,请用 %26 代替(或者使用url编码),否则参数可能会丢失。
3、填写链接时,必须要以http(s)://开头,否则可能会导致生出的短网址无法访问原网站。
万里长江第一桥,南通长江大桥-南通铝箔胶带生产质量如同其桥[天
世界第一斜拉桥南通长江大桥 今年,在万里长江的入海口南通将动工兴建主跨度达1088米的双塔斜拉桥,这是继日本主跨为890