• https采集12306(复制)


    package train;

    import java.io.IOException;
    import java.security.NoSuchAlgorithmException;
    import java.security.cert.CertificateException;
    import java.security.cert.X509Certificate;

    import javax.net.ssl.SSLContext;
    import javax.net.ssl.TrustManager;
    import javax.net.ssl.X509TrustManager;

    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.ssl.SSLSocketFactory;
    import org.apache.http.impl.client.BasicResponseHandler;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.params.HttpParams;

    public class train {

    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://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2016-08-23&from_station=BJP&to_station=TJP");
    HttpParams params = httpclient.getParams();

    System.out.println("Request URL:" + httpget.getURI());
    ResponseHandler responseHandler = new BasicResponseHandler();

    String responseBody = (String) 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();

    }
    }
    }

  • 相关阅读:
    腾讯的这款产品,让我不禁打了个冷颤
    奇了,结婚也能写成区块链智能合约
    每个人都在经历淘宝的“大数据杀熟”,这5个办法巧妙避开
    云存储的未来:Scale Up还是Scale Out?
    storj白皮书v3最全面解读,Docker创始人的加入能否扳倒AWS S3
    一切为了解决隐私问题,绿洲实验室Ekiden协议介绍
    为什么去中心化存储也能保证数据不丢失?
    Vue调试辅助神器
    Spring Boot Admin 使用的坑
    Beyond Compare比较文件夹内容
  • 原文地址:https://www.cnblogs.com/c-cccc/p/5996452.html
Copyright © 2020-2023  润新知