java httpclient
1 package com.ss.utils; 2 3 import java.io.IOException; 4 import java.net.URI; 5 import java.util.ArrayList; 6 import java.util.List; 7 import java.util.Map; 8 9 import org.apache.http.NameValuePair; 10 import org.apache.http.client.entity.UrlEncodedFormEntity; 11 import org.apache.http.client.methods.CloseableHttpResponse; 12 import org.apache.http.client.methods.HttpGet; 13 import org.apache.http.client.methods.HttpPost; 14 import org.apache.http.client.utils.URIBuilder; 15 import org.apache.http.entity.ContentType; 16 import org.apache.http.entity.StringEntity; 17 import org.apache.http.impl.client.CloseableHttpClient; 18 import org.apache.http.impl.client.HttpClients; 19 import org.apache.http.message.BasicNameValuePair; 20 import org.apache.http.util.EntityUtils; 21 22 public class HttpClientUtil { 23 24 public static String doGet(String url, Map<String, String> param) { 25 26 // 创建Httpclient对象 27 CloseableHttpClient httpclient = HttpClients.createDefault(); 28 29 String resultString = ""; 30 CloseableHttpResponse response = null; 31 try { 32 // 创建uri 33 URIBuilder builder = new URIBuilder(url); 34 if (param != null) { 35 for (String key : param.keySet()) { 36 builder.addParameter(key, param.get(key)); 37 } 38 } 39 URI uri = builder.build(); 40 41 // 创建http GET请求 42 HttpGet httpGet = new HttpGet(uri); 43 44 // 执行请求 45 response = httpclient.execute(httpGet); 46 // 判断返回状态是否为200 47 if (response.getStatusLine().getStatusCode() == 200) { 48 resultString = EntityUtils.toString(response.getEntity(), "UTF-8"); 49 } 50 } catch (Exception e) { 51 e.printStackTrace(); 52 } finally { 53 try { 54 if (response != null) { 55 response.close(); 56 } 57 httpclient.close(); 58 } catch (IOException e) { 59 e.printStackTrace(); 60 } 61 } 62 return resultString; 63 } 64 65 public static String doGet(String url) { 66 return doGet(url, null); 67 } 68 69 public static String doPost(String url, Map<String, String> param) { 70 // 创建Httpclient对象 71 CloseableHttpClient httpClient = HttpClients.createDefault(); 72 CloseableHttpResponse response = null; 73 String resultString = ""; 74 try { 75 // 创建Http Post请求 76 HttpPost httpPost = new HttpPost(url); 77 // 创建参数列表 78 if (param != null) { 79 List<NameValuePair> paramList = new ArrayList<>(); 80 for (String key : param.keySet()) { 81 paramList.add(new BasicNameValuePair(key, param.get(key))); 82 } 83 // 模拟表单 84 UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList); 85 httpPost.setEntity(entity); 86 } 87 // 执行http请求 88 response = httpClient.execute(httpPost); 89 resultString = EntityUtils.toString(response.getEntity(), "utf-8"); 90 } catch (Exception e) { 91 e.printStackTrace(); 92 } finally { 93 try { 94 response.close(); 95 } catch (IOException e) { 96 // TODO Auto-generated catch block 97 e.printStackTrace(); 98 } 99 } 100 101 return resultString; 102 } 103 104 public static String doPost(String url) { 105 return doPost(url, null); 106 } 107 108 public static String doPostJson(String url, String json) { 109 // 创建Httpclient对象 110 CloseableHttpClient httpClient = HttpClients.createDefault(); 111 CloseableHttpResponse response = null; 112 String resultString = ""; 113 try { 114 // 创建Http Post请求 115 HttpPost httpPost = new HttpPost(url); 116 // 创建请求内容 117 StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); 118 httpPost.setEntity(entity); 119 // 执行http请求 120 response = httpClient.execute(httpPost); 121 resultString = EntityUtils.toString(response.getEntity(), "utf-8"); 122 } catch (Exception e) { 123 e.printStackTrace(); 124 } finally { 125 try { 126 response.close(); 127 } catch (IOException e) { 128 // TODO Auto-generated catch block 129 e.printStackTrace(); 130 } 131 } 132 133 return resultString; 134 } 135 }