少年阿賓

          那些青春的歲月

            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 閱讀(988) 評論(0)  編輯  收藏 所屬分類: httpClient
          主站蜘蛛池模板: 靖边县| 柳河县| 中牟县| 铜川市| 边坝县| 集贤县| 庆云县| 邢台市| 长乐市| 泗水县| 岳阳市| 信宜市| 虞城县| 秭归县| 于都县| 东乡县| 寻乌县| 兴城市| 宁蒗| 永靖县| 潞西市| 资阳市| 太康县| 景宁| 垫江县| 大安市| 江北区| 轮台县| 西林县| 乌兰浩特市| 开平市| 塔城市| 沂南县| 腾冲县| 晋中市| 吉安县| 古蔺县| 城口县| 远安县| 苍梧县| 雷州市|