com.hn.im.easemob.comm.utils.RestAPIUtils Maven / Gradle / Ivy
package com.hn.im.easemob.comm.utils;
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
import org.glassfish.jersey.client.JerseyClient;
import org.glassfish.jersey.client.JerseyClientBuilder;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
import javax.net.ssl.*;
import javax.ws.rs.client.ClientBuilder;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RestAPIUtils {
/**
* Obtain a JerseyClient whit SSL
* @param isSSL isSSL
* @return Jersey Client
*/
public static JerseyClient getJerseyClient(boolean isSSL) {
ClientBuilder clientBuilder = JerseyClientBuilder.newBuilder().register(MultiPartFeature.class);
// Create a secure JerseyClient
if (isSSL) {
try {
HostnameVerifier verifier = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
TrustManager[] tm = new TrustManager[]{new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
}
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
}
}};
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, tm, new SecureRandom());
clientBuilder.sslContext(sslContext).hostnameVerifier(verifier);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
}
return (JerseyClient) clientBuilder.build().register(JacksonJsonProvider.class);
}
/**
* Check illegal String
*
* @param regex reg expression
* @param str string to be validated
* @return if matched
*/
public static boolean match(String regex, String str) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
return matcher.lookingAt();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy