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