From 4c68642aad8889ff599af52d33453c483f13092a Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期一, 24 六月 2019 11:33:57 +0800 Subject: [PATCH] Merge branch 'master-new' into div --- utils/src/main/java/org/yeshi/utils/HttpUtil.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 50 insertions(+), 7 deletions(-) diff --git a/utils/src/main/java/org/yeshi/utils/HttpUtil.java b/utils/src/main/java/org/yeshi/utils/HttpUtil.java index d641948..c51b1cf 100644 --- a/utils/src/main/java/org/yeshi/utils/HttpUtil.java +++ b/utils/src/main/java/org/yeshi/utils/HttpUtil.java @@ -37,6 +37,9 @@ import org.apache.http.util.EntityUtils; import org.yeshi.utils.entity.ProxyIP; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + public class HttpUtil { public static String getHost(String host) { @@ -49,19 +52,59 @@ return ""; } - public static String getShortLink(String url) { + public static String getShortLink(String url) { + String shortLink = getShortLink2(url); + if (StringUtil.isNullOrEmpty(shortLink)) + shortLink = getShortLink3(url); + if (StringUtil.isNullOrEmpty(shortLink)) + shortLink = getShortLink1(url); + return shortLink; + } + + private static String getShortLink1(String url) { try { String totalUrl = String.format("http://api.suolink.cn/api.php?url=%s", URLEncoder.encode(url)); String result = get(totalUrl, null); if (!StringUtil.isNullOrEmpty(result) && result.startsWith("http")) return result.trim(); - - // JSONArray rtesultArray = JSONArray.fromObject(result); - // if (rtesultArray.size() > 0) { -// return rtesultArray.optJSONObject(0).optString("url_short"); - // } } catch (Exception e) { return url; + } + return null; + } + + private static String getShortLink2(String url) { + try { + String totalUrl = String.format( + "https://api.weibo.com/2/short_url/shorten.json?source=3403499693&url_long=%s", + URLEncoder.encode(url)); + String result = get(totalUrl, null); + JSONObject data = JSONObject.fromObject(result); + JSONArray array = data.optJSONArray("urls"); + data = array.optJSONObject(0); + String shortUrl = data.optString("url_short"); + if (!StringUtil.isNullOrEmpty(shortUrl)) + return shortUrl; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + private static String getShortLink3(String url) { + try { + String totalUrl = String.format( + "https://api.weibo.com/2/short_url/shorten.json?source=2963429064&url_long=%s", + URLEncoder.encode(url)); + String result = get(totalUrl, null); + JSONObject data = JSONObject.fromObject(result); + JSONArray array = data.optJSONArray("urls"); + data = array.optJSONObject(0); + String shortUrl = data.optString("url_short"); + if (!StringUtil.isNullOrEmpty(shortUrl)) + return shortUrl; + } catch (Exception e) { + e.printStackTrace(); } return null; } @@ -354,7 +397,7 @@ public static String post(String url, Map<String, String> map, Map<String, String> headers) { HttpClient client = new HttpClient(); -// client.getHostConfiguration().setProxy("192.168.1.122", 8888); + // client.getHostConfiguration().setProxy("192.168.1.122", 8888); PostMethod pm = new PostMethod(url);// 鍒涘缓HttpPost瀵硅薄 NameValuePair[] ns = new NameValuePair[map.keySet().size()]; Iterator<String> its = map.keySet().iterator(); -- Gitblit v1.8.0