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

  

    

java爬虫HttpURLConnect获取网页源码的更多相关文章

  1. Python爬虫学习之获取网页源码

    偶然的机会,在知乎上看到一个有关爬虫的话题<利用爬虫技术能做到哪些很酷很有趣很有用的事情?>,因为强烈的好奇心和觉得会写爬虫是一件高大上的事情,所以就对爬虫产生了兴趣. 关于网络爬虫的定义 ...

  2. C语言之socket获取网页源码

    写爬虫也许你用的是python,类似urlopen(url).read()即可获得普通的网页的源码,或者用的java的网络库加上流操作,或者其他高级语言.但你有没有想过使用C语言来实现呢?我曾经以为用 ...

  3. QT:轻松获取网页源码

    获取网页源码的小例子,代码很简单,就不多作解释了. 不过一定要注意网页的编码问题,否则会出现乱码的!!! #include <QtCore> #include <QtNetwork& ...

  4. vc++获取网页源码

    1. 获取网页源码的步骤: com组件的初始化 创建WinHttpRequest对象 创建并实例化WinHttpRequest组件 调用Open方法打开连接 调用Send方法发送请求 使用Respon ...

  5. vc++获取网页源码之使用import+接口方式

    1.使用IWinHttpRequest获取网页源码 首先要创建基于对话框的mfc应用程序 2.import+接口方式 首先导入winhttp.dll,使用IWinHttpRequest接口 #impo ...

  6. 高效获取网页源码COM

    目前获取网页源码有几种方法: 1.WebClient下载页面2.HttpWebRequest发请求获取3.com组件xmlhttp获取 三者比较:WebClient代码最少,效率最慢:xmlhttp代 ...

  7. Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

    Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...

  8. Python3.x获取网页源码

    Python3.x获取网页源码 1,获取网页的头部信息以确定网页的编码方式: import urllib.request res = urllib.request.urlopen('http://ww ...

  9. c# HttpClient获取网页源码

    #region 获取网页源码 public static string HttpClientGetHtmls(string url) { try { var client = new HttpClie ...

随机推荐

  1. python 进程池(multiprocessing.Pool)和线程池(threadpool.ThreadPool)的区别与实例

    一般我们是通过动态创建子进程(或子线程)来实现并发服务器的,但是会存在这样一些缺点: 1.动态创建进程(或线程)比较耗费时间,这将导致较慢的服务器响应.  2.动态创建的子进程通常只用来为一个客户服务 ...

  2. Elasticsearch集群调优

    系统调优 禁用swap 使用swapoff命令可以暂时关闭swap.永久关闭需要编辑/etc/fstab,注释掉swap设备的挂载项. swapoff -a 如果完全关闭swap不可行,可以试着降低s ...

  3. JavaNIO非阻塞模式

    package com.java.NIO; import java.io.IOException; import java.net.InetSocketAddress; import java.nio ...

  4. 英语学习笔记---01---新概念第一册---Lesson 1 Excuse me!

    Lesson 1   Excuse me!   [词汇] excuse [iks5kju:z]                      v. 原谅      劳驾.借光 me             ...

  5. box-shadow + animation 实现loading

    .loading{ width:3px; height:3px; border-radius:100%; margin-left:20px; box-shadow:0 -10px 0 1px #333 ...

  6. robotframework自动化系列:随机下拉框

    robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没 ...

  7. 虚拟软件vmware安装

    什么是虚拟软件: 虚拟原件是一个可以使你在一台机器上同时运行二个或更多Windows.LINUX等系统.它可以模拟一个标准PC环境.这个环境和真实的计算机一样,都有芯片组.CPU.内存.显卡.声卡.网 ...

  8. SQLServer2008数据库安装图解

    SQLServer2008数据库安装图解... ======================================= 解压下载的安装包,右键运行Setup.exe文件 =========== ...

  9. NoSQL:redis缓存数据库

    一 Redis介绍 Redis和Memcached类似,也属于key-value nosql 数据库 Redis官网redis.io, 当前最新稳定版4.0.1 和Memcached类似,它支持存储的 ...

  10. 闲聊select和input常用的小插件

    前言 在pc端的项目中,经常会用到表单标签,莫过于是select和input这两种,这两种相当常用.但往往原生的功能不尽人意,即使 input中type有n多属性,甚至连时间控件都有,但仍旧满足不了我 ...