0 0

使用httpcomponents-client-4.2.1时,抛出无法解决的例外!30

在使用httpcomponents-client-4.2.1时,任务运行一段时间就抛出以下例外,实在找不到原因。

下面是异常的堆栈信息:

org.apache.http.TruncatedChunkException: Truncated chunk ( expected size: 47956; actual size: 35656)
        at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:186)
        at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:138)
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
        at java.io.InputStreamReader.read(InputStreamReader.java:167)
        at java.io.Reader.read(Reader.java:123)
        at org.apache.http.util.EntityUtils.toString(EntityUtils.java:224)
        at org.apache.http.util.EntityUtils.toString(EntityUtils.java:248)
        at com.bw30.bjappmanage.common.service.impl.HttpClientServiceImpl$2.handleResponse(HttpClientServiceImpl.java:206)
        at com.bw30.bjappmanage.common.service.impl.HttpClientServiceImpl$2.handleResponse(HttpClientServiceImpl.java:1)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1070)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1044)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1035)
        at com.bw30.bjappmanage.common.service.impl.HttpClientServiceImpl.getHttpEntityText(HttpClientServiceImpl.java:214)
        at com.bw30.bjappmanage.task.data.crawl.LiquGetThread.run(LiquGetThread.java:73)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

1个答案 按时间排序 按投票排序

0 0

比如访问a url:
1、如果是一直报这个错 说明是服务端问题(如服务器故意给你返回错误的数据);

2、如果偶尔报这个错 说明是客户端网络(如丢包)等问题造成的,可以考虑失败重试两次,如果还失败 可以考虑记下日志,定期重试。

这个也是属于很正常的行为,就如网络问题,只要考虑好如失败重试 等策略解决这种问题就行了。


可以看下httpclient源码

你盼望1000字节 但实际获取了100  (这个服务器可以直接给你返回少于指定的数据, 网络问题也可能会遭遇这个问题)

if (!this.buffer.hasData() && this.endOfStream) {
203                         this.state = COMPLETED;
204                         this.completed = true;
205                         throw new TruncatedChunkException("Truncated chunk "
206                                 + "( expected size: " + this.chunkSize
207                                 + "; actual size: " + this.pos + ")");
208                     }


2012年8月22日 10:31

相关推荐

    httpcomponents-client-4.2.1 API CHM

    httpcomponents-client-4.2.1 API CHM开发文档,http Client开发。

    httpcomponents-client-4.2.1-bin.zip

    本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。 以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。 (1)实现了所有 HTTP 的方法...

    httpclient-4.5所需jar包 httpcomponents-client-4.5.12-bin.zip

    此压缩包`httpcomponents-client-4.5.12-bin.zip`包含了运行HTTPClient 4.5所需的多个JAR文件。 以下是这些JAR文件的功能和在HTTP通信中的作用: 1. **httpclient-4.5.12.jar**:这是主要的HTTPClient库,包含所有...

    httpcomponents-client-4.2.5-bin

    3. **数据抓取与上传**:无论是下载文件还是上传数据,HTTPComponents Client都能提供稳定且高效的解决方案。 三、压缩包内容详解 "httpcomponents-client-4.2.5-bin"压缩包内包含了以下关键组件: - `lib`目录:...

    httpcomponents-client-4.5.5 jar包

    《深入解析HTTPComponents Client 4.5.5》 HTTPComponents是Apache软件基金会的一个核心项目,它提供了一组用于处理HTTP协议的Java库。在Java开发中,HTTPComponents Client是常用于实现HTTP客户端请求的工具包,其...

    httpcomponents-client-4.2-alpha1-osgi-bin.tar.gz

    标题 "httpcomponents-client-4.2-alpha1-osgi-bin.tar.gz" 指的是一个开源项目 Apache HttpClient 的特定版本的二进制发行版,该版本是4.2 Alpha1,并且是为OSGi(Open Service Gateway Initiative)环境打包的。...

    httpcomponents-core-4.2.1 httpcomponents-client-4.2 httpcore4.2

    **HttpComponents Core 4.2.1** HttpCore 4.2.1是HttpComponents项目的核心组件,它包含了一组低级别的HTTP协议处理类和接口。这个版本主要关注性能优化和bug修复,旨在提高HTTP请求和响应处理的效率。它支持...

    httpcomponents-client-4.5.9-bin.rar

    包含httpclient所需jar包,包括commons-codec-1.11.jar、commons-logging-1.2.jar、fluent-hc-4.5.9.jar、httpclient-4.5.9.jar、httpclient-cache-4.5.9.jar、httpclient-osgi-4.5.9.jar、httpclient-win-4.5.9.jar...

    httpcomponents-client-4.2-alpha1-bin.tar.gz

    Apache HttpComponents Client 4.2 Alpha1虽然还处于早期测试阶段,但已经展现出了强大的功能和潜力。开发者可以通过这个版本探索新的特性和改进,为后续的项目开发做好准备。在实际使用中,根据具体需求选择合适...

    httpcomponents-client包下载

    首先,我们来看HTTPComponents Client的核心组件——HttpClient。HttpClient是一个功能丰富的HTTP客户端,可以用来执行各种HTTP方法,如GET、POST、PUT等。它支持基本认证、代理设置、重试策略、连接管理和超时设置...

    httpcomponents-client-4.5.9.zip

    import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpUriRequest; import org.apache....

    httpcomponents-client-4.2.5

    httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5...

    httpcomponents-client-4.5.3所需jar

    同时,由于其广泛使用和成熟的社区支持,遇到问题时往往能找到丰富的解决方案和示例代码。总的来说,HttpComponents是Java世界中一个强大的HTTP客户端工具,为开发者提供了灵活且高效地与HTTP服务器交互的能力。

    httpcomponents-client-4.5.1.zip

    这个“httpcomponents-client-4.5.1.zip”压缩包包含了HttpClient的4.5.1版本,这是一个经过时间考验、广泛使用的版本,被誉为“目前最新的版本”。其稳定性和功能的强大,为开发者提供了极大的便利,从而减少了开发...

    httpcomponents-client-5.0.1-bin.zip

    在Java开发中,进行HTTP请求操作是一项常见的任务,而Apache HttpComponents Client库提供了一种高效且强大的解决方案。这个库,具体版本为5.0.1,是Java开发者进行GET、POST、PUT、DELETE等HTTP方法请求时的首选第...

    httpcomponents-client-4.5.5-bin.zip

    描述中提到的“缺失一些包可以导入httpcomponents-client-4.5.5-bin.zip”,意味着在某些Java项目中,可能因为缺少必要的HTTP客户端依赖而无法正常工作。通过导入这个压缩包,开发人员可以获得完整的HTTP客户端功能...

    httpcomponents-client-4.5.12.zip

    《Apache HttpComponents客户端库:深入理解HTTPClient 4.5.12》 Apache HttpComponents是Java领域中广泛使用的HTTP客户端库,它提供了强大的...通过深入理解和熟练使用,开发者可以构建出更加健壮、高效的网络应用。

    httpcomponents-client.rar

    标题中的"httpcomponents-client.rar"指的是Apache HTTP Components的客户端库,这是一个广泛使用的Java库,用于处理HTTP协议。这个压缩包包含了多个组件,以便于开发者在Java应用程序中实现HTTP客户端功能。 描述...

    httpcomponents-client-4.5.6.rar

    标题中的"httpcomponents-client-4.5.6.rar"是一个压缩包文件,它是Apache HttpComponents项目的客户端组件的一个版本,具体是4.5.6版。HttpComponents是Java领域中用于处理HTTP协议的重要库,它提供了对HTTP协议的...

    httpcomponents-client-4.1.2-src.zip

    10. **异常处理**:HttpComponents Client使用`HttpClientException`及其子类来表示各种可能出现的错误情况,帮助开发者更有效地处理异常。 总的来说,Apache HttpComponents Client 4.1.2是一个强大且高度可定制的...

Global site tag (gtag.js) - Google Analytics