简要概述
http://url.cn/xxx格式的短网址是由微信url短网址api缩短生成的,该接口是腾讯官方对外公开的长网址转短网址的API,可以将多字符串的链接地址缩短为微信官方的url.cn/xxx格式的短地址。
请求地址(API)
官方接口有三种格式:
请求方式
- POST
请求参数
参数 | 必选 | 类型 | 说明 |
key | 是 | string | 用户注册登录获取 |
参数说明
上文提到的三种格式的接口是免费公开的,所以无需用到key参数即可直接调用。但有请求次数限制,超出限制,接口会返回“user dose not have resource to register long term short url”。
无限制接口是需要注册获取授权key的,key是请求接口时代表用户的唯一身份。用来做鉴权使用,请勿随意泄露key。
key申请步骤
1、进入 http://lnurl.cn/api/urlcn ,选择API接口。
2、注册创建唯一用户id后前往接口管理控制台。
3、获取接口授权key,key就是请求接口的唯一识别。
4、复制API接口地址,就可以请求生成了。
接口请求说明
1、在线使用
上文提到的三种格式接口为免费公开接口,无需授权key即可正常调用,如需在线使用,只需将 “http://www.baidu.com”换成自己需要缩短的长网址,然后复制整串链接前往浏览器打开即可生成相应的短网址。
2、请求接口
需求量大的朋友,不建议用在线生成,因为比较麻烦,耗时间,建议直接接入接口,程序请求接口生成。
接口请求示例
1、PHP请求示例:
- $url = 'http://www.baidu.com';
- $api_url = 'http://lnurl.cn/weixin/short?link=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/weixin/short?link=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, sys
- host = 'http://lnurl.cn'
- path = '/weixin/short'
- 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://www.baidu.com”网址换成自己需要缩短的长网址。
2、参数链接支持有参数,但要注意的是当链接中出现 & 符号时,请用 %26 代替(或者使用url编码),否则参数可能会丢失。
3、更换url时,必须要以http(s)://开头,否则可能会导致短网址生成失败或者生成的短网址无法跳转访问原网站。
常见问题:
1、长链接转换后,为什么结尾的参数丢失了?
答:因为长链接中含有特殊字符,需要将url编码后再使用接口生成。
2、接口请求与时没有返回结果,是什么情况?
答:有些时候接口返回数据会有延迟,超时未返回即生成失败,也就不会返回结果;或者是因为原链接被封了。
3、生成的短网址有效期是多久?有没有访问次数限制?
答:生成的微信url.cn短网址是永久有效的,没有点击次数限制,可以放心使用