2 u013693144 u013693144 于 2017.09.16 17:11 提问

httpClient 工具类异常

工具类代码如下,分页100的情况下没什么问题,分页1000,就会在请求前几页的时候出现json异常,发现返回的数据被截断,换个工具类就没问题了,求解?

    public String doGet(String url) throws UnsupportedEncodingException {
        HttpClient client = new HttpClient(); // 实例化httpClient
        client.getHttpConnectionManager().getParams()
                .setConnectionTimeout(TIME_OUT);
        client.getHttpConnectionManager().getParams().setSoTimeout(TIME_OUT);
        HttpMethod method = new GetMethod(url); //
        String responseContent = "";
        try {
            client.executeMethod(method); // 执行
            InputStream jsonStr;
            jsonStr = method.getResponseBodyAsStream();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            int i = -1;
            while ((i = jsonStr.read()) != -1) {
                baos.write(i);
            }
            responseContent = baos.toString();
            jsonStr.close();
            baos.close();
            method.releaseConnection();
        } catch (HttpException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        if (responseContent != null) {
            // 用默认字符编码解码字符串。
            byte[] bs = responseContent.getBytes();
            // 用新的字符编码生成字符串
            return new String(bs, "UTF-8");
        }
        return null;
    }

1个回答

caozhy
caozhy   Ds   Rxr 2017.09.17 00:30

看下什么异常,是不是超时了,把超时设置大一些。

u013693144
u013693144 不是超时,超时时长设置很大也会出现这样的问题,但是换个工具类就好了
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
httpClient 工具类
demo 1: package com.xmjr.utils.httpClient; import java.io.BufferedReader import java.io.IOException; import java.io.InputStreamReader; import java.util.Map; import org.apache.commons.h
利用HttpClient进行post或者get请求的工具类
本方法以HttpClient发送请求,并且接收返回数据 举例说明 public static String doGet(String url, Map<String, String> params, String charset) public static void downLoadImage(String url, String path) public static String doPost(String apiUrl, Map<String, Object> params) public static String doPost(String apiUrl,String json) public static String doPost(String apiUrl,Map<String,String> texts,Map<String,File> files) 使用举例 public static void main(String[] args) { String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxx&secret=xxx"; String json = null; String res = SSLClient.doPost(url, json); System.out.println(res); }
轻松把玩HttpClient之封装HttpClient工具类(一)(现有网上分享中的最强大的工具类)
搜了一下网络上别人封装的HttpClient,大部分特别简单,有一些看起来比较高级,但是用起来都不怎么好用。调用关系不清楚,结构有点混乱。所以也就萌生了自己封装HttpClient工具类的想法。要做就做最好的,本工具类支持插件式配置Header、插件式配置httpclient对象,这样就可以方便地自定义header信息、配置ssl、配置proxy等。是不是觉得说的有点悬乎了,那就先看看调用吧:
常用工具类之HttpclientUtil
package com.chenfeng.ego.commons.util; import java.io.IOException; import java.net.URI; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.NameValuePair;
httpclient4.3 工具类
httpclient4.3工具类。。。。 package com.ruishenh.utils; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URISyntaxException; import java.nio.charset.Charset; imp
基于HttpClient实现Http访问工具类
HttpClient官方下载地址:http://hc.apache.org/downloads.cgi 如果使用的是jar包方式,将下载的jar添加到项目中Build Path即可. 如果使用的是maven 添加pom.xml依赖: org.apache.httpcomponents httpclient 4.5.2 HttpClientUtil.java: package com
【末世旅行之Java】HttpClient工具类,包含POST和GET请求,使用了连接池和代理
HttpClient工具类,包含POST和GET请求,使用了连接池和代理
HttpClient的HttpGet和HttpPost工具类
HttpClient的HttpGet以及HttpPost工具类
httpclient4.3工具类
httpclient4.3开发的工具类,httpclientUtils 因为项目需要,自己就根据常用的写了一个。
轻松把玩HttpClient之封装HttpClient工具类(六),封装输入参数,简化工具类
在写这个工具类的时候发现传入的参数太多,以至于方法泛滥,只一个send方法就有30多个,所以对工具类进行了优化,把输入参数封装在一个对象里,这样以后再扩展输入参数,直接修改这个类就ok了。       不多说了,先上代码:/** * 请求配置类 * * @author arron * @date 2016年2月2日 下午3:14:32 * @version 1.0 */ pub