java爬蟲HttpURLConnect獲取網頁源碼



public abstract class HttpsURLConnection extends HttpURLConnection
 
        

HttpsURLConnection 擴展 HttpURLConnection,支持各種特定於 https 功能。

有關 https 規范的更多詳細信息,請參見 http://www.w3.org/pub/WWW/Protocols/RFC 2818

    從1.4版本開始,此類使用 HostnameVerifierSSLSocketFactory。為這兩個類都定義了默認實現。但是,可以根據每個類(靜態的)或每個實例來替換該實現。所有新 HttpsURLConnection 實例在創建時將被分配“默認的”靜態值,通過在連接前調用每個實例適當的 set 方法可以重寫這些值。

    構造方法  :

      HttpsURLConnection(URL url)  使用指定的 URL 創建 HttpsURLConnection

    參數 :  URL

    方法摘要  :    

 abstract  String   getCipherSuite() 
                返回在此連接上使用的密碼套件。

static HostnameVerifier  getDefaultHostnameVerifier() 
                獲取此類的新實例所繼承的默認 HostnameVerifier

static SSLSocketFactory  getDefaultSSLSocketFactory() 
                獲取此類的新實例所繼承的默認靜態 SSLSocketFactory

HostnameVerifier  getHostnameVerifier() 
                獲取此實例適當的 HostnameVerifier

abstract  Certificate[]  getLocalCertificates() 
                返回握手期間發送給服務器的證書。

Principal  getLocalPrincipal() 
                返回握手期間發送到服務器的主體。

Principal  getPeerPrincipal() 
                返回服務器的主體,它是作為定義會話的一部分而建立的。

abstract  Certificate[]  getServerCertificates() 
                返回服務器的證書鏈,它是作為定義會話的一部分而建立的。

SSLSocketFactory  getSSLSocketFactory() 
                獲取為安全 https URL 連接創建套接字時使用的 SSL 套接字工廠。

static void  setDefaultHostnameVerifier(HostnameVerifier v) 
                設置此類的新實例所繼承的默認 HostnameVerifier

static void setDefaultSSLSocketFactory(SSLSocketFactory sf) 
                設置此類的新實例所繼承的默認 SSLSocketFactory

void setHostnameVerifier(HostnameVerifier v) 
                設置此實例的 HostnameVerifier

void setSSLSocketFactory(SSLSocketFactory sf) 
                設置當此實例為安全 https URL 連接創建套接字時使用的 SSLSocketFactory


           示例代碼如下,采取了單例設計模式 。

package HttpURLConnect;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class GetUrl {
    private static GetUrl getUrl ;
    private static String index ;
    private GetUrl(String url) {
        URL u ;
        HttpURLConnection httpURLConnection ;
        BufferedReader bf ;
        String readLine  ;
        try{
            u = new URL(url) ;
            httpURLConnection = (HttpURLConnection)u.openConnection() ;
            int responsecode = httpURLConnection.getResponseCode() ;  // 返回碼
            if(responsecode==200) {
                bf = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(), "UTF-8"));
                while ((readLine = bf.readLine()) != null) {
                    index += readLine += "\r\n";
                }
            }else{
                System.out.println("NOT  "+responsecode);
            }
        }catch(Exception e){
            System.out.println("Exception->"+e);
        }
    }
    public static String getGetUrl(String url){
        getUrl = new GetUrl(url);
        return getUrl.index ;
    } 
}

 

           

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM