问答详情
源自:2-2 access_token的获取(上)

DefaultHttpClient已经被标注为deprecated,使用CloseableHttpClient代替怎么写啊?

public static JSONObject doGetStr(String url) {

    CloseableHttpClient httpClient = HttpClientBuilder.create().build();
    HttpGet httpGet = new HttpGet(url);
    JSONObject jsonObject = null;
    try {
        HttpResponse response = httpClient.execute(httpGet);
        HttpEntity entity = response.getEntity();
        if (entity != null) {
            String result = EntityUtils.toString(entity, "UTF-8");
            jsonObject = JSONObject.fromObject(response);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return jsonObject;
}

我这么写得到的entity根本不是想要的

提问者:jason_0133 2017-02-22 16:26

个回答

  • jason_0133
    2017-02-22 16:54:01

    第11行:

    jsonObject = JSONObject.fromObject(result);    // 这里照着IDEA的提示按快了

    另外,第7行替换为:

    CloseableHttpResponse response = httpClient.execute(httpGet);

    这个是官网示例的用法。小伙伴们如果遇到deprecated可以使用CloseableHttpClient替换。