作者:陈惠,叩丁狼教育高级讲师。原创文章,转载请注明出处。
应用场景:
1.很多时候,我们的链接由于域名太长或者参数太多会导致整个链接很长很长,如果直接使用该链接来生成二维码的话,比如(商品二维码、支付二维码等),会导致扫码解析的速度和成功率都会下降,但是如果我们先把长链接转为短链接,再去生成二维码,就可以提高速度和成功率了。
2.就算不是用于二维码,链接越长也会有很多问题,比如不利于传播与推广。
有的网站还会规定字数,超过长度就不能发送出去了。
如果有人发下面这样的链接给你,可能你都不想去打开它。
为此,微信也提供了接口可以帮我们进行转换:
接口地址:
http请求方式: POST
https://api.weixin.qq.com/cgi-bin/shorturl?access_token=ACCESS_TOKEN
请求参数
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
action | 是 | 此处填long2short,代表长链接转短链接 |
long_url | 是 | 需要转换的长链接,支持http://、https://、weixin://wxpay 格式的url |
代码:
/**
* 长链接转短链接
* @param longUrl
*/
public static void getShortUrl(String longUrl){
HashMap map = new HashMap();
map.put("action","long2short");
map.put("long_url",longUrl);
//发起请求到指定的接口,并且带上菜单json数据
String result = HttpUtil.post(GET_SHORT_URL.replace("ACCESS_TOKEN",getAccessToken()),map);
System.out.println(result);
}
正常情况下,微信会返回下述JSON数据包给公众号:
{"errcode":0,"errmsg":"ok","short_url":"http:\/\/w.url.cn\/s\/AvCo6Ih"}
参数说明
参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误信息 |
short_url | 短链接 |
错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
{"errcode":40013,"errmsg":"invalid appid"}
想获取更多技术干货,请前往叩丁狼官网:http://www.wolfcode.cn/all_article.html