* 发送https请求
* @param apiURL:请求URL
* @param postParams:请求参数
* @return
*/
public static String sendHttpsPost(String apiURL, String postParams){
("http send url :" + apiURL);TrustManager[] trustAllCerts = new TrustManager[1];
TrustManager tm = new SSLTrustManager();
trustAllCerts[0] = tm;
HttpsURLConnection conn = null;
DataOutputStream dos = null;
BufferedReader br = null;
try {
("send data :" + (postParams));
SSLContext sc = ("SSL");
(null, trustAllCerts, null);
(());
((HostnameVerifier) tm);
URL url = new URL(apiURL);
conn = (HttpsURLConnection) ();
("POST");
(false);
(true);
(true);
(CONNECT_TIMEOUT);
(READ_TIMEOUT);
("Content-Type", "application/json");
("Content-Length",(().length));
//请求URL需要认证的用户名和密码
String password = ("es_password");
if( (username) && (password) ){
String encoding = new String((new String(username + ":" + password).getBytes()));
("Authorization","Basic "+encoding);
}
dos = new DataOutputStream(());
(postParams);
br = new BufferedReader(new InputStreamReader((),"UTF-8"));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = ()) != null) {
(line);
}
("receive data :" + ());
return ();
}catch (Exception e) {
(());
();
}finally {
try{
if(dos != null) {
();
}
if(br != null) {
();
}
if(conn != null) {
();
}
}catch(Exception e){
(());
}
}
return null;
}
package ;
import ;
import ;
public class SSLTrustManager implements ,
.X509TrustManager ,HostnameVerifier {
@Override
public .X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(
.X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(
.X509Certificate[] certs) {
return true;
}
@Override
public void checkServerTrusted(
.X509Certificate[] certs, String authType)
throws {
return;
}
@Override
public void checkClientTrusted(
.X509Certificate[] certs, String authType)
throws {
return;
}
@Override
public boolean verify(String urlHostName, SSLSession session) { //允许所有主机
return true;
}
}