• 将一条长链接转成短链接


    package com.wanhua.weixin.util;

    import java.util.HashMap;
    import java.util.Map;

    import org.json.JSONObject;

    import play.cache.Cache;
    import play.i18n.Messages;

    import com.alibaba.fastjson.JSON;
    import com.wanhua.weixin.model.AccessToken;

    /**
     * 请求地址url的工具类
     *
     * @author w_xfpenga 2015-1-5
     *
     */
    public class UrlUtil {

        /**
         * 将一条长链接转成短链接
         *
         * @param longUrl
         *            长链接
         * @return 返回短链接
         */
        public static String longToShortUrl(String longUrl) {
            // 设置调试模式标志
            boolean flag = true;
            System.out.println("--UrlUtil----longToShortUrl---flag---" + flag);
            // 若是调试模式,则返回原长链接
            if (flag) {
                return longUrl;
            }
            // 不是调试模式则返回长链接转成短链接之后的链接
            // 获取到的凭证
            String access_token = AccessToken.getAccessToken();
            // 请求地址
            String requestUrl = WXConst.LONG_TO_SHORT_URL + access_token;
            // 请求参数
            Map<String, String> map = new HashMap<String, String>();
            map.put("action", "long2short");
            map.put("long_url", longUrl);
            // 请求输出参数
            String outputStr = JSON.toJSONString(map);
            String shortUrl = null;
            try {
                // 请求返回的结果
                String result = WXHttpUtil.MsgHttpsRequest(requestUrl, "POST", outputStr);
                // 将返回结果转换成json格式数据
                JSONObject resultObj = new JSONObject(result);
                // 返回的结果的状态码
                int code = resultObj.getInt("errcode");
                if (code == 0) {
                    // 返回的短链接url
                    shortUrl = resultObj.getString("short_url");
                    // 请求成功返回提示信息
                    System.out.println(Messages.get("long_to_short_url_success") + result);
                } else {
                    // 请求失败的返回提示信息
                    System.out.println(Messages.get("long_to_short_url_fail") + result);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return shortUrl;

        }
    }

  • 相关阅读:
    (15)如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第三部分(完)
    (14)如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第二部分
    (13)如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第一部分
    (12)瓦片地图
    (11)粒子系统
    (10)场景转换(Transitions)
    (9)SpriteFrameCache和TextureCache
    LeetCode:数组中的第K个最大元素【215】
    LeetCode:累加数【306】
    LeetCode:组合总数III【216】
  • 原文地址:https://www.cnblogs.com/xunfang123/p/4237141.html
Copyright © 2020-2023  润新知