init: UserBaseService (backend + deploy + scripts)
ci-userbase-service / build-and-push (push) Successful in 40s
ci-userbase-service / build-and-push (push) Successful in 40s
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
package com.yunhai.userbase.utils;
|
||||
|
||||
import com.bestsch.utils.DException;
|
||||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.TrustManager;
|
||||
import javax.net.ssl.X509TrustManager;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.security.KeyManagementException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.cert.X509Certificate;
|
||||
|
||||
public class HttpUtils {
|
||||
static {
|
||||
try {
|
||||
trustAllHttpsCertificates();
|
||||
HttpsURLConnection.setDefaultHostnameVerifier
|
||||
(
|
||||
(urlHostName, session) -> true
|
||||
);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 跳过ssl证书
|
||||
*
|
||||
* @throws NoSuchAlgorithmException
|
||||
* @throws KeyManagementException
|
||||
*/
|
||||
private static void trustAllHttpsCertificates()
|
||||
throws NoSuchAlgorithmException, KeyManagementException {
|
||||
TrustManager[] trustAllCerts = new TrustManager[1];
|
||||
trustAllCerts[0] = (TrustManager) new TrustAllManager();
|
||||
SSLContext sc = SSLContext.getInstance("SSL");
|
||||
sc.init(null, trustAllCerts, null);
|
||||
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
|
||||
}
|
||||
|
||||
private static class TrustAllManager implements X509TrustManager {
|
||||
public X509Certificate[] getAcceptedIssuers() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void checkServerTrusted(X509Certificate[] certs, String authType) {
|
||||
}
|
||||
|
||||
public void checkClientTrusted(X509Certificate[] certs, String authType) {
|
||||
}
|
||||
}
|
||||
|
||||
public static String get(String aUrl,Integer timeout){
|
||||
int respCode = 0;
|
||||
HttpURLConnection conn = null;
|
||||
String var3;
|
||||
try {
|
||||
conn = getHttpURLConnection(aUrl, "GET",timeout);
|
||||
conn.setDoInput(true);
|
||||
respCode = conn.getResponseCode();
|
||||
if (respCode != 301) {
|
||||
InputStream is = conn.getInputStream();
|
||||
int contentLen = conn.getContentLength();
|
||||
byte[] resultData = read(is, contentLen);
|
||||
is.close();
|
||||
String var6 = new String(resultData, "utf-8");
|
||||
return var6;
|
||||
}
|
||||
var3 = get(conn.getHeaderField("Location"),timeout);
|
||||
} catch (Exception var10) {
|
||||
throw new DException("网络连接失败");
|
||||
} finally {
|
||||
close(conn);
|
||||
}
|
||||
return var3;
|
||||
}
|
||||
|
||||
|
||||
private static HttpURLConnection getHttpURLConnection(String uri, String method,int timeout) throws IOException {
|
||||
URL url = new URL(uri);
|
||||
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
|
||||
conn.setRequestMethod(method);
|
||||
conn.setConnectTimeout(timeout);
|
||||
conn.setReadTimeout(timeout);
|
||||
return conn;
|
||||
}
|
||||
|
||||
private static byte[] read(InputStream is, int contentLen) throws IOException {
|
||||
if (contentLen <= 0) {
|
||||
int BUF_SIZE = 102400;
|
||||
byte[] buf = new byte[102400];
|
||||
ByteBuffer byteBuffer = ByteBuffer.allocate(102400);
|
||||
|
||||
int readed;
|
||||
do {
|
||||
if (byteBuffer.position() + 102400 > byteBuffer.capacity()) {
|
||||
byteBuffer = reallocByteBuffer(byteBuffer, byteBuffer.capacity() + 102400);
|
||||
}
|
||||
|
||||
readed = is.read(buf, 0, 102400);
|
||||
if (readed > 0) {
|
||||
byteBuffer.put(buf, 0, readed);
|
||||
}
|
||||
} while(readed != -1);
|
||||
|
||||
byte[] data = new byte[byteBuffer.position()];
|
||||
System.arraycopy(byteBuffer.array(), 0, data, 0, byteBuffer.position());
|
||||
return data;
|
||||
} else {
|
||||
byte[] data = new byte[contentLen];
|
||||
|
||||
int readed;
|
||||
for(int remain = contentLen; remain > 0; remain -= readed) {
|
||||
readed = is.read(data, contentLen - remain, remain);
|
||||
if (readed == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
}
|
||||
private static ByteBuffer reallocByteBuffer(ByteBuffer buffer, int size) {
|
||||
ByteBuffer newBuf = ByteBuffer.allocate(size);
|
||||
newBuf.put(buffer.array(), 0, buffer.position());
|
||||
return newBuf;
|
||||
}
|
||||
private static void close(HttpURLConnection conn) {
|
||||
try {
|
||||
if (conn == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
conn.disconnect();
|
||||
} catch (Exception var2) {
|
||||
var2.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user