将一条长链接转成短链接

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;

    }
}

原文地址:https://www.cnblogs.com/xunfang123/p/4237141.html