importjava.io.BufferedReader;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;importjava.net.URL;importjava.security.cert.CertificateException;importjava.security.cert.X509Certificate;importjavax.net.ssl.HttpsURLConnection;importjavax.net.ssl.SSLContext;importjavax.net.ssl.SSLSocketFactory;importjavax.net.ssl.TrustManager;importjavax.net.ssl.X509TrustManager;public class testHttps implementsX509TrustManager {public void checkClientTrusted(X509Certificate[] arg0, String arg1) throwsCertificateException {//TODO Auto-generated method stub
}public void checkServerTrusted(X509Certificate[] arg0, String arg1) throwsCertificateException {//TODO Auto-generated method stub
}publicX509Certificate[] getAcceptedIssuers() {//TODO Auto-generated method stub
return null;
}public staticString httpsRequest(String requestUrl,String requestMethod,String outputStr){
StringBuffer buffer=null;try{//创建SSLContext
SSLContext sslContext=SSLContext.getInstance("SSL");
TrustManager[] tm={newtestHttps()};//初始化
sslContext.init(null, tm, newjava.security.SecureRandom());;//获取SSLSocketFactory对象
SSLSocketFactory ssf=sslContext.getSocketFactory();
URL url=newURL(requestUrl);
HttpsURLConnection conn=(HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod(requestMethod);//设置当前实例使用的SSLSoctetFactory
conn.setSSLSocketFactory(ssf);
conn.connect();//往服务器端写内容
if(null!=outputStr){
OutputStream os=conn.getOutputStream();
os.write(outputStr.getBytes("utf-8"));
os.close();
}//读取服务器端返回的内容
InputStream is=conn.getInputStream();
InputStreamReader isr=new InputStreamReader(is,"utf-8");
BufferedReader br=newBufferedReader(isr);
buffer=newStringBuffer();
String line=null;while((line=br.readLine())!=null){
buffer.append(line);
}
}catch(Exception e){
e.printStackTrace();
}returnbuffer.toString();
}public static voidmain(String[] args) {
String s=httpsRequest("https://www.baidu.com","GET",null);
System.out.println(s);
}
}