HTTP1.1协议规定了web地址默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),所以在web服务端获取到的链接都只能是原始长连接。
什么是短连接?短连接(short-url),顾名思义就是在形式上比较短的链接,可能很多朋友都已经不再陌生,特别是在微博应用中十分普遍,比如,当我们在腾讯、新浪微博发微博时有时发很长的网址连接,但由于微博只限制140个字,所以微博就自动把您发的长连接给转换成短连接了。无可否认在微博和手机短信提醒等限制字数的地方来使用短网址,的确是一个不错的方案。
长连接和短连接转换接口新浪短链接接口:http://lnurl.cn/sina/short-api?link=http://www.baidu.com
微信短链接接口:http://lnurl.cn/weixin/short?link=http://www.baidu.com
接口使用说明:
1、在线使用
将API地址中 "http://www.baidu.com" 的部分换成自己的长连接,然后复制完整地址前往浏览器中粘贴打开就能生成了。(简而言之就是更换url后面的链接)
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, 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)

