httpclient解析https网页
生活随笔
收集整理的這篇文章主要介紹了
httpclient解析https网页
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用httpclient解析https網頁,基本代碼測試通過。
import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager;import java.io.IOException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.ResponseHandler; import org.apache.http.client.methods.HttpGet; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.conn.scheme.SchemeSocketFactory; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.ClientParamsStack; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.DefaultedHttpParams; import org.apache.http.params.HttpParams; public class HttpClientTest { public static void main(String args[]) { try { HttpClient httpclient = new DefaultHttpClient(); //Secure Protocol implementation. SSLContext ctx = SSLContext.getInstance("SSL"); //Implementation of a trust manager for X509 certificates X509TrustManager tm = new X509TrustManager() { public void checkClientTrusted(X509Certificate[] xcs, String string) throws CertificateException { } public void checkServerTrusted(X509Certificate[] xcs, String string) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return null; } }; ctx.init(null, new TrustManager[] { tm }, null); SSLSocketFactory ssf = new SSLSocketFactory(ctx); ClientConnectionManager ccm = httpclient.getConnectionManager(); //register https protocol in httpclient's scheme registry SchemeRegistry sr = ccm.getSchemeRegistry(); sr.register(new Scheme("https", 443, ssf)); HttpGet httpget = new HttpGet("https://www.icbc-axa.com"); HttpParams params = httpclient.getParams(); params.setParameter("param1", "paramValue1"); httpget.setParams(params); System.out.println("REQUEST:" + httpget.getURI()); ResponseHandler responseHandler = new BasicResponseHandler(); String responseBody; responseBody = httpclient.execute(httpget, responseHandler); System.out.println(responseBody); // Create a response handler } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } } }總結
以上是生活随笔為你收集整理的httpclient解析https网页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Jsoup解析https网页的问题
- 下一篇: 关于jsp标签A跳转路径的疑惑