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 ;
    } 
}

 

           

 

    

 

上一篇:转 MongoDB数据库关系表示和设计:(1)嵌套文档和引用链接


下一篇:深入浅出理解MongoDB的设计与实现