少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            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世紀網(java2000.net)    
           *     
           */     
          class Java2000TrustManager implements X509TrustManager {      
            Java2000TrustManager() {      
              // 這里可以進行證書的初始化操作      
            }      
            // 檢查客戶端的可信任狀態      
            public void checkClientTrusted(X509Certificate chain[], String authType) throws CertificateException {      
              System.out.println("檢查客戶端的可信任狀態...");      
            }      
            // 檢查服務器的可信任狀態      
            public void checkServerTrusted(X509Certificate chain[], String authType) throws CertificateException {      
              System.out.println("檢查服務器的可信任狀態");      
            }      
            // 返回接受的發行商數組      
            public X509Certificate[] getAcceptedIssuers() {      
              System.out.println("獲取接受的發行商數組...");      
              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協議,通過Socket訪問Https的程序代碼例子。
           *
           * @author JAVA世紀網(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 閱讀(982) 評論(0)  編輯  收藏 所屬分類: httpClient
          主站蜘蛛池模板: 榆树市| 遂川县| 湘乡市| 泊头市| 灵武市| 蓬安县| 萝北县| 天津市| 马尔康县| 九江市| 宜章县| 葵青区| 灯塔市| 名山县| 哈尔滨市| 贞丰县| 盐源县| 洛川县| 城口县| 丹棱县| 长沙市| 十堰市| 惠水县| 应城市| 天长市| 高淳县| 宝鸡市| 雷州市| 沧州市| 龙门县| 辽阳县| 都江堰市| 永嘉县| 珲春市| 横山县| 西乌珠穆沁旗| 常熟市| 泸州市| 昭通市| 伽师县| 岫岩|