public abstract class HttpsURLConnection extends HttpURLConnection
HttpsURLConnection 擴展 HttpURLConnection,支持各種特定於 https 功能。
有關 https 規范的更多詳細信息,請參見 http://www.w3.org/pub/WWW/Protocols/ 和 RFC 2818。
從1.4版本開始,此類使用 HostnameVerifier 和 SSLSocketFactory。為這兩個類都定義了默認實現。但是,可以根據每個類(靜態的)或每個實例來替換該實現。所有新 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 ; } }
