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 ...
随机推荐
- 【DG】利用闪回数据库(flashback)修复Failover后的DG环境
利用闪回数据库(flashback)修复Failover后的DG环境 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能, ...
- idea 配置tomcat(包含tomcat Server找不到的配置方法)
在配置tomcate时有时候按照网上说的找不到tomcat Server,不知不觉花了很长时间这时我们在这里配置就可以了如图所示 1.这是有tomcat Server的配置(后面是没有的情况下的配置) ...
- indexed database IndexedDB
Indexed Database API 目的是提供一个可供javascript存储和检索对象,并且还能进行查询,搜索等数据库操作 设计为几乎完全异步,因此绝大部分操作都稍后执行,因此每次操作都应 ...
- PTA 数据结构 银行业务队列简单模拟
仅供参考,请勿粘贴 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达银行的顾客序列,请按业务完 ...
- gulp一般使用
gulp的基本使用总结了一下几点: 1.gulp-ejs的使用 [ file include,html文件合并 ]: let ejs = require("gulp-ejs"); ...
- Apache降权和禁用PHP危险函数
测试环境: Windows Server 2003 + phpstudy 首先在win2003里运行phpstudy,这里注意需要选择应用系统服务模式,应用之后重启phpstudy. 打开系统服务(开 ...
- 机器学习数学|Taylor展开式与拟牛顿
机器学习中的数学 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原创文章,如需转载请保留出处 本博客为七月在线邹博老师机器学习数学课程学习笔记 Taylor 展式与拟牛顿 索引 taylor ...
- 在微信端使用video标签,播放结束会出现QQ浏览器推荐视频的解决办法(vue)
会出现播放结束显示QQ浏览器推荐视频的原因:(我是vue的项目,而且我是新手,只是单纯的给大家分享一个方法,代码比较low请自动忽略) 因为在x5(QQ浏览器)内核中,把video标签劫持了,只要是检 ...
- 《剑指offer》面试题的Python实现
<剑指Offer>是很多程序员面试前要看的书,但里面的算法都是基于C++实现的,最近用了三周左右时间,用Python完成了里面几乎所有的算法题,由于时间以及个人水平均有限,或许会有部分问题 ...
- Nytro MegaRaid
Nytro MegaRaid简介 Dell R720xd,内存64G ,12块 SAS Dell R510xd,内存48G ,12块 SAS SSD+SAS SSD对于用户透明 raid会 ...