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 += " "; } }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 ; } }