【问题记录】HttpClient多线程访问

问题记录

在sql解析这个项目中,用到了HttpClient来向服务器提交get请求,将返回的请求写回到对象的字段中去。
问题在于:如果是多线程的情况下调用这个sendGetAPI方法,会出现
对应代码如下:


 public static Long sendGetAPI(String url) throws Exception{
        HttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet(url);

        // add request header
        request.addHeader("User-Agent",USER_AGENT);

        //add config
        request.addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);

        HttpResponse response = client.execute(request);

        BufferedReader rd = new BufferedReader(
                new InputStreamReader(response.getEntity().getContent()));

        StringBuffer result = new StringBuffer();
        String line = "";
        while ((line = rd.readLine()) != null) {
            result.append(line);
        }
        //转为JSON
        JSONObject json;
        json = JSONObject.parseObject(result.toString());
        Long data = json.getLong("data")/1048576;
        return data;
    }

你可能感兴趣的:(爱奇艺)