这篇文章将为大家详细讲解有关如何使用将新浪长连接转为短连接的API,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
新浪短网址api是新浪官方对外公开的长链接转为短链接的API,可以将冗长的链接地址缩短生成 t.cn/xxx 格式的短链接。
API有两种格式
http://lnurl.cn/sina/short-api?url_long=http://www.baidu.com
http://kndwz.com/api-tcn.php?link=http://www.baidu.com
请求参数
申请调用接口时分配的接口授权key,调用接口时代表用户的唯一身份。url_long和link后面的url是需要转换的长链接,如果你的url中带有参数或特殊符号需要URLencoded,否则可能会导致参数丢失。
申请key的步骤
进入 http://lnur.cn/api ,选择API接口。
创建唯一用户id后前往接口管理控制台。
获取接口授权key,key就是请求接口的唯一识别。
复制API接口地址,就可以调用生成短链接了。
接口使用说明
1、在线使用
上方提到的两个接口为公开接口,无需授权key即可正常调用,如需在线使用,只需要把url_long和link后面的url换成自己需要转换的长链接,然后复制完整接口地址前往浏览器打开即可生成短链接。
2、请求接口
需求量大的朋友,建议直接接入接口,请求接口生成短链接。
接口请求示例
1、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;
2、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"));}
3、Python请求示例:
import urllib, urllib2, syshost = 'http://lnurl.cn'path = '/sina/short-api'method = 'GET'querys = 'url_long=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”换成需要缩短的长链接即可。
接口支持链接中带参数,但要注意的是当链接中出现 & 符号时,请用 %26 代替(或者使用url编码),否则参数可能会丢失。
更换链接时,必须要以http(s)://开头,否则可能会导致短网址生成失败或者生成的短网址无法跳转访问原网站。
常见问题:
1、长链接转换后,为什么结尾的参数丢失了?
答:因为长链接中含有特殊字符,需要将url编码后再使用接口生成。
2、接口没有返回结果,是什么情况?
答:有些时候接口返回数据会有延迟,超时未返回即生成失败,也就不会返回结果;或者是因为原链接被封了。
3、生成的短链接有效期是多久?有没有访问次数限制?
答:生成的新浪短链接是永久有效的,没有点击次数限制,可以放心使用。
关于“如何使用将新浪长连接转为短连接的API”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。