From cc55ffcea74c7d23dadaa0860befbcdf98f35341 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期一, 16 九月 2019 23:22:13 +0800
Subject: [PATCH] 资金相关包目录修改

---
 utils/src/main/java/org/yeshi/utils/HttpUtil.java |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/utils/src/main/java/org/yeshi/utils/HttpUtil.java b/utils/src/main/java/org/yeshi/utils/HttpUtil.java
index f1cc3bd..1ac6855 100644
--- a/utils/src/main/java/org/yeshi/utils/HttpUtil.java
+++ b/utils/src/main/java/org/yeshi/utils/HttpUtil.java
@@ -9,8 +9,11 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLEncoder;
+import java.security.KeyStore;
 import java.util.Iterator;
 import java.util.Map;
+
+import javax.net.ssl.SSLContext;
 
 import org.apache.commons.httpclient.Header;
 import org.apache.commons.httpclient.HttpClient;
@@ -24,6 +27,7 @@
 import org.apache.commons.httpclient.methods.multipart.Part;
 import org.apache.commons.httpclient.methods.multipart.StringPart;
 import org.apache.commons.io.FileUtils;
+import org.apache.http.HttpEntity;
 import org.apache.http.HttpHost;
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
@@ -31,6 +35,9 @@
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpPost;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.conn.ssl.SSLContexts;
+import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.BasicCredentialsProvider;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
@@ -63,12 +70,17 @@
 
 	private static String getShortLink1(String url) {
 		try {
-			String totalUrl = String.format("http://api.suolink.cn/api.php?url=%s", URLEncoder.encode(url));
+			String totalUrl = String.format(
+					"http://suo.im/api.htm?format=json&url=%s&key=5d7728078e676d45275f816b@681bb0446f1e6af4f8fc6ce3cad2a684",
+				URLEncoder.encode(url));
 			String result = get(totalUrl, null);
-			if (!StringUtil.isNullOrEmpty(result) && result.startsWith("http"))
-				return result.trim();
+			System.out.println(result);
+			try {
+				JSONObject json = JSONObject.fromObject(result);
+				return json.optString("url");
+			} catch (Exception e) {
+			}
 		} catch (Exception e) {
-			return url;
 		}
 		return null;
 	}
@@ -76,9 +88,10 @@
 	private static String getShortLink2(String url) {
 		try {
 			String totalUrl = String.format(
-					"http://api.t.sina.com.cn/short_url/shorten.json?source=3403499693&url_long=%s",
+					"http://api.t.sina.com.cn/short_url/shorten.json?source=2849184197&url_long=%s", // 3403499693
 					URLEncoder.encode(url));
 			String result = get(totalUrl, null);
+			System.out.println(result);
 			JSONObject data = JSONArray.fromObject(result).optJSONObject(0);
 			return data.optString("url_short");
 		} catch (Exception e) {
@@ -533,4 +546,43 @@
 		}
 		return null;
 	}
+
+	@SuppressWarnings("deprecation")
+	public static String httpsPost(String url, String body, String pwd, InputStream cert) throws Exception {
+		String result = "";
+		KeyStore keyStore = KeyStore.getInstance("PKCS12");
+		InputStream instream = cert;
+		try {
+			keyStore.load(instream, pwd.toCharArray());
+		} finally {
+			instream.close();
+		}
+
+		// Trust own CA and all self-signed certs
+		SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, pwd.toCharArray()).build();
+		// Allow TLSv1 protocol only
+		SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1" }, null,
+				SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
+		CloseableHttpClient httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
+		try {
+			HttpPost httppost = new HttpPost(url);
+			httppost.setHeader("Content-Type", "text/html;charset=UTF-8");
+			System.out.println("executing request" + httppost.getRequestLine());
+			httppost.setEntity(new StringEntity(body, "UTF-8"));
+			CloseableHttpResponse response = httpclient.execute(httppost);
+			try {
+				HttpEntity entity = response.getEntity();
+				if (entity != null) {
+					result = convertInputStreamToString(entity.getContent());
+				}
+				EntityUtils.consume(entity);
+			} finally {
+				response.close();
+			}
+		} finally {
+			httpclient.close();
+		}
+
+		return result;
+	}
 }

--
Gitblit v1.8.0