- 浏览: 797136 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
引用参考:
--HttpClient超时设置详解
http://blog.csdn.net/u011191463/article/details/78664896
--HttpClient 4.5版本设置连接超时时间
https://my.oschina.net/wallechen/blog/526642
--HttpClient PoolingClientConnectionManager 参数含义
http://geniuszhe.blog.163.com/blog/static/11934682014102521241984/
--HttpClient超时设置详解
http://blog.csdn.net/u011191463/article/details/78664896
--HttpClient 4.5版本设置连接超时时间
https://my.oschina.net/wallechen/blog/526642
--HttpClient PoolingClientConnectionManager 参数含义
http://geniuszhe.blog.163.com/blog/static/11934682014102521241984/
package com.tender.news.crawler; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.params.HttpMethodParams; public class HttpClientGet{ public String getHtml(String url){ String result=""; // String url="http://www.ahbc.com.cn/bulletin.aspx?ID=1"; //构造HttpClient的实例 HttpClient httpClient = new HttpClient(); //创建GET方法的实例 GetMethod getMethod = new GetMethod(url); //使用系统提供的默认的恢复策略 getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler()); //定义一个输入流 InputStream ins = null; //定义文件流 BufferedReader br =null; try { //执行getMethod int statusCode = httpClient.executeMethod(getMethod); if (statusCode != HttpStatus.SC_OK) { System.err.println("方法失败: "+ getMethod.getStatusLine()); } //使用getResponseBodyAsStream读取页面内容,这个方法对于目标地址中有大量数据需要传输是最佳的。 ins = getMethod.getResponseBodyAsStream(); String charset = getMethod.getResponseCharSet(); System.out.println("编码是?"+charset); if(charset.toUpperCase().equals("ISO-8859-1")){ charset = "gbk"; } //按服务器编码字符集构建文件流,这里的CHARSET要根据实际情况设置 br = new BufferedReader(new InputStreamReader(ins,getMethod.getResponseCharSet())); StringBuffer sbf = new StringBuffer(); String line = null; while ((line = br.readLine()) != null) { sbf.append(line); } result = new String(sbf.toString().getBytes(getMethod.getResponseCharSet()),charset); //输出内容 // System.out.println(result); //服务器编码 System.out.println("服务器编码是:"+getMethod.getResponseCharSet()); } catch (HttpException e) { //发生致命的异常,可能是协议不对或者返回的内容有问题 System.out.println("请检查您所提供的HTTP地址!"); e.printStackTrace(); } catch (IOException e) { //发生网络异常 e.printStackTrace(); } finally { //关闭流,释放连接 try { ins.close(); br.close();} catch (IOException e) { e.printStackTrace(); } getMethod.releaseConnection(); } return result; } }
发表评论
-
基于阿里云服务器给部署的IIS应用服务器安装SSL证书
2020-04-15 11:05 304在IIS服务器上安装SSL证书 效果:将阿里云服务器上I ... -
HttpAsyncClient-异步开源框架
2018-06-27 13:09 982引用参考 --了解HttpAsyncClient https: ... -
Http请求与响应 contentType
2017-08-23 17:12 789Http请求 1、方法-URI-协议/版本; 2、请求头信息; ... -
HTTP、 SSL/TSL、 HTTPS、TCP/IP 协议
2017-06-12 18:33 691--引用参考 --SSL 安全套 ... -
https相关、http相关
2016-11-18 13:46 4151、Https相关 a、iOS安全系列之一:HTTPS ... -
httpclient中的httppost、httpget----调用接口以及main方法直接调用API接口
2015-11-20 20:59 4973引用参考: --HttpClient总结一之基本使用 http ... -
Http Https 连接池
2013-04-28 09:43 6202引用参考: --Http请求连接池 - HttpClient ... -
Retrofit原理及使用
2013-02-22 13:06 1079引用参考 --Retrofit使用 https://blog. ... -
httpCore
2012-09-13 10:30 897引用参考 --HttpCore 教程(二) https://b ...
相关推荐
将HttpClient与HtmlParser结合,可以实现从指定URL获取HTML内容并进行解析。首先,使用HttpClient发起HTTP请求并获取响应,然后将响应内容传递给HtmlParser进行解析。例如: ```java CloseableHttpClient ...
在这个场景中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用的新手机号码信息,并将这些数据存储到本地文件中。以下是对这个过程的详细解释: 1. **HttpClient的基本使用**: HttpClient提供了一...
在Android中,使用HttpClient获取网页的基本步骤如下: 1. 创建HttpClient实例:首先,我们需要创建一个HttpClient对象,它是所有HTTP请求的起点。代码示例如下: ```java HttpClient httpClient = new ...
在这个名为"使用HttpClient获取网页html源代码.zip"的压缩包中,包含了一个简单的示例项目——WebDataShow,用于演示如何使用HttpClient获取网页HTML。 首先,我们需要导入Apache HttpClient库。在Android Studio中...
首先,我们需要了解`HttpClient`的基本用法。在Java中,创建一个`HttpClient`实例是获取网络资源的第一步。`HttpClient`提供了多种方法来创建请求,如`HttpGet`、`HttpPost`等,分别对应HTTP的GET和POST请求。以下是...
在本文中,我们将深入探讨HttpClient的基本用法,以及如何使用它来抓取网页内容。 首先,你需要在项目中引入HttpClient的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org....
在这个例子中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用手机号码的数据,并将其存储到本地文件系统。以下是对这个过程的详细解释: 1. **HttpClient的引入与配置**: 首先,我们需要在项目中...
标题中的"C# 采值数据 获取指定网页的值 远程采值数据 文件"涉及到的是使用C#编程语言从远程网页抓取数据的过程。在IT领域,这通常指的是网络爬虫或者网页抓取技术,是一种自动化获取网页内容的程序设计方式。在C#中...
压缩包中含有多个文档,从了解httpclient到应用。 httpClient 1httpClint 1.1简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持...
在这个特定的场景中,我们利用HttpClient来从指定的URL下载文件到本地。以下是对这个主题的详细阐述: 1. **HttpClient介绍**: HttpClient是一个Java库,支持HTTP/1.1协议以及部分HTTP/2特性。它提供了一组高级...
总结来说,这个例子旨在帮助开发者了解如何在Android环境中使用HttpClient和URLConnection获取远程网页的HTML源代码,同时展示了在GBK编码环境下的处理方式。对于初学者来说,这是一个很好的起点,可以帮助他们理解...
- **发送GET请求**:获取网页内容,或者获取API提供的数据。 - **发送POST请求**:提交表单数据,或者向RESTful API发送复杂的数据结构。 - **处理响应**:解析返回的HTML或JSON内容,提取所需信息。 - **设置请求头...
6. **执行请求并获取响应**: 使用HttpClient的`execute`方法执行请求,并捕获返回的`HttpResponse`: ```java HttpResponse response = httpClient.execute(httpPost); ``` 7. **处理响应**: 你可以读取响应状态...
2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。 3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams ...
标签中的"源码"意味着我们可能需要了解HttpClient的内部实现。Apache HttpClient的源代码提供了丰富的信息,帮助我们理解其工作原理,优化请求处理,甚至自定义某些行为。 至于"工具"标签,HttpClient可以被视为一...
《HttpClient 4.5:构建高效网络请求的利器》 HttpClient是Apache软件基金会下的一个开源项目,主要用于提供高效的、最新的、功能丰富的HTTP协议客户端编程工具包。HttpClient 4.5作为其重要的版本,针对Java开发者...
然后创建一个HTTPClient对象,并指定目标URL,例如: ```cpp HTTPClient http; http.begin("http://example.com"); ``` 3. **发起GET请求**: GET请求是最简单的HTTP请求,用于从服务器获取资源。使用`...
《HttpClient 4.0:Java中的HTTP客户端库详解》 HttpClient是Apache软件基金会下的一个开源项目,主要用于处理HTTP协议的客户端编程...了解并熟练掌握HttpClient的使用,对于提升Java应用的网络通信效率具有重要意义。