少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          package org.abin.lee;

          import java.security.cert.CertificateException;
          import java.security.cert.X509Certificate;

          import javax.net.ssl.X509TrustManager;
            

          /**    
           * 自定義的認證管理類。    
           *     
           * @author JAVA世紀網(wǎng)(java2000.net)    
           *     
           */     
          class Java2000TrustManager implements X509TrustManager {      
            Java2000TrustManager() {      
              // 這里可以進行證書的初始化操作      
            }      
            // 檢查客戶端的可信任狀態(tài)      
            public void checkClientTrusted(X509Certificate chain[], String authType) throws CertificateException {      
              System.out.println("檢查客戶端的可信任狀態(tài)...");      
            }      
            // 檢查服務(wù)器的可信任狀態(tài)      
            public void checkServerTrusted(X509Certificate chain[], String authType) throws CertificateException {      
              System.out.println("檢查服務(wù)器的可信任狀態(tài)");      
            }      
            // 返回接受的發(fā)行商數(shù)組      
            public X509Certificate[] getAcceptedIssuers() {      
              System.out.println("獲取接受的發(fā)行商數(shù)組...");      
              return null;      
            }      
          }    








          package org.abin.lee;

          import java.io.BufferedReader;
          import java.io.BufferedWriter;
          import java.io.InputStreamReader;
          import java.io.OutputStreamWriter;
          import java.net.Socket;

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

          /**
           * JAVA操作SSL協(xié)議,通過Socket訪問Https的程序代碼例子。
           *
           * @author JAVA世紀網(wǎng)(java2000.net)
           *
           */
          public class ReadHttpsURL {
           // 默認的HTTPS 端口
           static final int HTTPS_PORT = 443;

           public static void main(String argv[]) throws Exception {
            // 受訪主機
            String host = "  // 受訪的頁面
            String url = "/adsense/?sourceid=aso&subid=ZH_CN-ET-AS-ADSBY6&medium=link&hl=zh_CN";
            // 自定義的管理器
            X509TrustManager xtm = new Java2000TrustManager();
            TrustManager mytm[] = { xtm };
            // 得到上下文
            SSLContext ctx = SSLContext.getInstance("SSL");
            // 初始化
            ctx.init(null, mytm, null);
            // 獲得工廠
            SSLSocketFactory factory = ctx.getSocketFactory();
            // 從工廠獲得Socket連接
            Socket socket = factory.createSocket(host, HTTPS_PORT);
            // 剩下的就和普通的Socket操作一樣了
            BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
              socket.getOutputStream()));
            BufferedReader in = new BufferedReader(new InputStreamReader(
              socket.getInputStream()));
            out.write("GET " + url + " HTTP/1.0\n\n");
            out.flush();
            System.out.println("start   work!");
            String line;
            StringBuffer sb = new StringBuffer();
            while ((line = in.readLine()) != null) {
             sb.append(line + "\n");
            }
            out.close();
            in.close();
            System.out.println(sb.toString());
           }
          }





          http://ming-fanglin.iteye.com/blog/574596

          posted on 2012-08-16 00:35 abin 閱讀(988) 評論(0)  編輯  收藏 所屬分類: httpClient
          主站蜘蛛池模板: 马边| 海城市| 同德县| 东平县| 乐至县| 昔阳县| 雷州市| 鄂托克前旗| 嘉祥县| 长白| 龙江县| 南安市| 清原| 宁强县| 棋牌| 阳城县| 武安市| 集安市| 永济市| 东辽县| 松桃| 营山县| 光山县| 乌海市| 元江| 青川县| 邵武市| 玉树县| 陆川县| 涞水县| 永平县| 双城市| 富源县| 集贤县| 崇州市| 沙雅县| 扶余县| 瑞昌市| 含山县| 寿光市| 井冈山市|