HttpClients实现请求

    xiaoxiao2022-07-12  148

    package Bean; import java.io.IOException; import java.net.URI; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class Test1 { public static void main(String[] args) { // 发送一条短信 sendOneNumber(); // 发送相同内容到不通手机 sendDiffentNumber(); // 发送不同内容到不同手机 sendDifferentContentDifferentNumber(); } /** * 同一条内容发送一个手机号的 * */ public static void sendOneNumber() { Map<String, String> map = new HashMap<String,String>(); map.put("userid", "EMP130"); map.put("pwd", "EMP130"); map.put("mobile", "13214561238"); map.put("content", "您好"); String url = "http://192.168.1.145:8082/sms/v2/std/single_send"; String result = doPost(url,map); System.out.println("**************发送一条信息的结果**********************"); System.out.println(result); } /** * 同一个内容发送多个手机号码的 * */ public static void sendDiffentNumber() { Map<String, String> map = new HashMap<String,String>(); map.put("userid", "EMP130"); map.put("pwd", "EMP130"); map.put("mobile", "13214561238,18143363199"); map.put("content", "您好"); String url = "http://192.168.1.145:8082/sms/v2/std/batch_send"; String result = doPost(url,map); System.out.println("**************发送相同信息到不同手机的结果**********************"); System.out.println(result); } /** * 不同内容发送不同手机号码 * */ @SuppressWarnings("unchecked") public static void sendDifferentContentDifferentNumber() { JSONObject jsonObject = new JSONObject(); jsonObject.put("userid", "EMP130"); jsonObject.put("pwd", "EMP130"); JSONObject obj1 = new JSONObject(); obj1.put("mobile", "13272487451"); obj1.put("content", "您好"); JSONObject obj2 = new JSONObject(); obj2.put("mobile", "13278951125"); obj2.put("content", "世界如此美好"); JSONArray jsonArray = new JSONArray(); jsonArray.add(obj1); jsonArray.add(obj2); jsonObject.put("multimt", jsonArray); String url = "http://192.168.1.145:8082/sms/v2/std/multi_send"; String result = doPostJson(url,jsonObject.toJSONString()); System.out.println("**************发送不同信息到不同手机的结果**********************"); System.out.println(result); } /** * get方式发送短信 * */ public static String doGet(String url, Map<String, String> param) { // 创建Httpclient对象 CloseableHttpClient httpclient = HttpClients.createDefault(); // 返回结果 String resultString = ""; // 执行url之后的响应 CloseableHttpResponse response = null; try { // 创建uri URIBuilder builder = new URIBuilder(url); // 将参数封装到uri里面 if (param != null) { for (String key : param.keySet()) { builder.addParameter(key, param.get(key)); } } URI uri = builder.build(); // 创建http GET请求 HttpGet httpGet = new HttpGet(uri); // 执行请求 response = httpclient.execute(httpGet); // 判断返回状态是否为200 if (response.getStatusLine().getStatusCode() == 200) { resultString = EntityUtils.toString(response.getEntity(), "UTF-8"); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (response != null) { response.close(); } httpclient.close(); } catch (IOException e) { e.printStackTrace(); } } return resultString; } public static String doGet(String url) { return doGet(url, null); } /** * post方式发送短信 * */ public static String doPost(String url, Map<String, String> param) { // 创建Httpclient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = null; String resultString = ""; try { // 创建Http Post请求 HttpPost httpPost = new HttpPost(url); // 创建参数列表 if (param != null) { List<NameValuePair> paramList = new ArrayList<>(); for (String key : param.keySet()) { paramList.add(new BasicNameValuePair(key, param.get(key))); } // 模拟表单 UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList); httpPost.setEntity(entity); } // 执行http请求 response = httpClient.execute(httpPost); resultString = EntityUtils.toString(response.getEntity(), "utf-8"); } catch (Exception e) { e.printStackTrace(); } finally { try { response.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return resultString; } public static String doPost(String url) { return doPost(url, null); } /** * 以JSON方式发送短信 * */ public static String doPostJson(String url, String json) { // 创建Httpclient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = null; String resultString = ""; try { // 创建Http Post请求 HttpPost httpPost = new HttpPost(url); // 创建请求内容 StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); httpPost.setEntity(entity); // 执行http请求 response = httpClient.execute(httpPost); resultString = EntityUtils.toString(response.getEntity(), "utf-8"); } catch (Exception e) { e.printStackTrace(); } finally { try { response.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return resultString; } }

     

    最新回复(0)