首页 > 技术文章 > 微信开发系列文章 >

微信公众号开发教程(九)长链接转短链接

更新时间:2019-01-03 | 阅读量(1,760)

> 本文作者:陈惠,叩丁狼高级讲师。原创文章,转载请注明出处。 **应用场景:** 1.很多时候,我们的链接由于域名太长或者参数太多会导致整个链接很长很长,如果直接使用该链接来生成二维码的话,比如(商品二维码、支付二维码等),会导致扫码解析的速度和成功率都会下降,但是如果我们先把长链接转为短链接,再去生成二维码,就可以提高速度和成功率了。 2.就算不是用于二维码,链接越长也会有很多问题,比如不利于传播与推广。 有的网站还会规定字数,超过长度就不能发送出去了。 如果有人发下面这样的链接给你,可能你都不想去打开它。 ![image.png](https://upload-images.jianshu.io/upload_images/1641677-ab621151d1051784.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 为此,微信也提供了接口可以帮我们进行转换: **接口地址:** ``` http请求方式: POST https://api.weixin.qq.com/cgi-bin/shorturl?access_token=ACCESS_TOKEN ``` **请求参数** | 参数 | 是否必须 | 说明 | | --- | --- | --- | | access_token | 是 | 调用接口凭证 | | action | 是 | 此处填long2short,代表长链接转短链接 | | long_url | 是 | 需要转换的长链接,支持[http://、https://、weixin://wxpay](http://xn--https-0t3d//%E3%80%81weixin://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"} ```
叩丁狼学员采访 叩丁狼学员采访
叩丁狼头条 叩丁狼头条
叩丁狼在线课程 叩丁狼在线课程