kylinthinker
2016-06-22 09:34
defaultHttpClient 警告过时,有什么可以替代的吗
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(); }
导入httpclient 4.2.5
导入httpcore 4.2.4
我跟你遇到过同样的问题,亲测有效
CloseableHttpClient httpClient = HttpClients.createDefault();
Java微信公众号开发进阶
87757 学习 · 226 问题
相似问题