defaultHttpClient 过时处理

来源:2-2 access_token的获取(上)

kylinthinker

2016-06-22 09:34

defaultHttpClient 警告过时,有什么可以替代的吗

写回答 关注

3回答

  • ALemon_Y
    2018-05-18 09:58:20

    DefaultHttpClient 用 CloseableHttpClient

    HttpResponse 用 CloseableHttpResponse

    官方新api的样例

    Get方法:

        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet("http://targethost/homepage");
        CloseableHttpResponse response1 = httpclient.execute(httpGet);
        // The underlying HTTP connection is still held by the response object
        // to allow the response content to be streamed directly from the network socket.
        // In order to ensure correct deallocation of system resources
        // the user MUST either fully consume the response content  or abort request
        // execution by calling CloseableHttpResponse#close().
    
        try {
            System.out.println(response1.getStatusLine());
            HttpEntity entity1 = response1.getEntity();
            // do something useful with the response body
            // and ensure it is fully consumed
            EntityUtils.consume(entity1);
        } finally {
            response1.close();
        }


    Post方法:

          HttpPost httpPost = new HttpPost("http://targethost/login");
        //拼接参数
        List <NameValuePair> nvps = new ArrayList <NameValuePair>();
        nvps.add(new BasicNameValuePair("username", "vip"));
        nvps.add(new BasicNameValuePair("password", "secret"));
        httpPost.setEntity(new UrlEncodedFormEntity(nvps));
        CloseableHttpResponse response2 = httpclient.execute(httpPost);
    
        try {
            System.out.println(response2.getStatusLine());
            HttpEntity entity2 = response2.getEntity();
            // do something useful with the response body
            // and ensure it is fully consumed
            //消耗掉response
            EntityUtils.consume(entity2);
        } finally {
            response2.close();
        }


  • qq_木樨_03742982
    2016-07-31 16:16:49

    导入httpclient 4.2.5

    导入httpcore 4.2.4

    我跟你遇到过同样的问题,亲测有效

    漂泊流浪的懒... 回复qq_酷爱达...

    那你说一个答案,api超过22,HttpClients都没有

    2017-12-21 17:58:15

    共 2 条回复 >

  • 慕粉3565655
    2016-07-21 21:47:32

    CloseableHttpClient httpClient = HttpClients.createDefault();

Java微信公众号开发进阶

Java微信公众号开发的进阶课程,在入门的基础上更加深入

87757 学习 · 226 问题

查看课程

相似问题