java爬虫HttpURLConnect获取网页源码
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 ;
}
}
java爬虫HttpURLConnect获取网页源码的更多相关文章
- Python爬虫学习之获取网页源码
偶然的机会,在知乎上看到一个有关爬虫的话题<利用爬虫技术能做到哪些很酷很有趣很有用的事情?>,因为强烈的好奇心和觉得会写爬虫是一件高大上的事情,所以就对爬虫产生了兴趣. 关于网络爬虫的定义 ...
- C语言之socket获取网页源码
写爬虫也许你用的是python,类似urlopen(url).read()即可获得普通的网页的源码,或者用的java的网络库加上流操作,或者其他高级语言.但你有没有想过使用C语言来实现呢?我曾经以为用 ...
- QT:轻松获取网页源码
获取网页源码的小例子,代码很简单,就不多作解释了. 不过一定要注意网页的编码问题,否则会出现乱码的!!! #include <QtCore> #include <QtNetwork& ...
- vc++获取网页源码
1. 获取网页源码的步骤: com组件的初始化 创建WinHttpRequest对象 创建并实例化WinHttpRequest组件 调用Open方法打开连接 调用Send方法发送请求 使用Respon ...
- vc++获取网页源码之使用import+接口方式
1.使用IWinHttpRequest获取网页源码 首先要创建基于对话框的mfc应用程序 2.import+接口方式 首先导入winhttp.dll,使用IWinHttpRequest接口 #impo ...
- 高效获取网页源码COM
目前获取网页源码有几种方法: 1.WebClient下载页面2.HttpWebRequest发请求获取3.com组件xmlhttp获取 三者比较:WebClient代码最少,效率最慢:xmlhttp代 ...
- Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作
Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...
- Python3.x获取网页源码
Python3.x获取网页源码 1,获取网页的头部信息以确定网页的编码方式: import urllib.request res = urllib.request.urlopen('http://ww ...
- c# HttpClient获取网页源码
#region 获取网页源码 public static string HttpClientGetHtmls(string url) { try { var client = new HttpClie ...
随机推荐
- 使用PostgreSQL进行全文检索
* { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...
- Android 开发笔记___switch__开关
default switch <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- 启动Apache出现问题:一直停留在启动界面
问题描述: 由于需要php_curl模块,因此直接在php.ini文件将前面的分号去掉 ,但是重启Apache时出现:一直停留在启动界面,Apache无法正常启动,查看错误日志,显示如下: 解决方 ...
- 深入理解ES6之—set与map
Set是无重复值的有序列表.Set会自动移除重复的值,因此你可以使用它来过滤数组中重复的值并返回结果. Map是有序的键值对,其中的键允许是任何类型. Set和Map是es6新增的两个数据集合. Se ...
- python视频教程全集
由于Python语言的简洁.易读以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经用它来教授程序设计课程.如果你想找python视频教程全集,来这就对了!这是链接: py ...
- C#链接数据库增删改查的例子
以users表为例,有三个字段,自增长的编号id,int类型:名称name,nvarchar类型,密码pwd,nvarchar类型首先在vs2005中引入using System.Data.SqlCl ...
- .net core 开发短网址平台的思路
最近有个客户要求开发一套短网址网站,小编现在都使用.net core进行网站开发了,以是厘厘思路,想想使用.net core 的中间件应该很容易实现. 1. 构建一个中间件,监测网站的响应状态,代码如 ...
- Spring的IOC容器第一辑
一.Spring的IOC容器概述 Spring的IOC的过程也被称为依赖注入(DI),那么对象可以通过构造函数参数,工厂方法的参数或在工厂方法构造或返回的对象实例上设置的属性来定义它们的依赖关系,然后 ...
- [转载] 快速理解Kafka分布式消息队列框架
转载自http://blog.csdn.net/xiaolang85/article/details/18048631 ==是什么 == 简单的说,Kafka是由Linkedin开发的一个分布式的消息 ...
- Office2016 KMS激活
Office标准版激活 一新买本子需要安装Office,闲来无事就安装了一款Office Standard 2016,网上许多激活秘钥均已过期,无法激活,无奈下选择KMS激活. KMS下载链接如下: ...