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