1.
1 package com.step.utils; 2 3 import java.io.IOException; 4 import java.net.URLDecoder; 5 import java.util.ArrayList; 6 import java.util.List; 7 8 import org.apache.http.HttpResponse; 9 import org.apache.http.HttpStatus; 10 import org.apache.http.NameValuePair; 11 import org.apache.http.client.ClientProtocolException; 12 import org.apache.http.client.HttpClient; 13 import org.apache.http.client.entity.UrlEncodedFormEntity; 14 import org.apache.http.client.methods.HttpGet; 15 import org.apache.http.client.methods.HttpPost; 16 import org.apache.http.entity.StringEntity; 17 import org.apache.http.impl.client.DefaultHttpClient; 18 import org.apache.http.message.BasicNameValuePair; 19 import org.apache.http.util.EntityUtils; 20 21 import com.alibaba.fastjson.JSONObject; 22 23 24 25 /** 26 * 发送HTTP请求 27 * @author mlu 28 * 29 */ 30 public class HttpUtils { 31 32 /** 33 * 发送post请求--用于接口接收的参数为JSON字符串 34 * @param url 请求地址 35 * @param params json格式的字符串 36 * @return 37 */ 38 public static String httpPost(String url, String params){ 39 String result = null; 40 try { 41 HttpClient httpClient = new DefaultHttpClient(); 42 HttpPost httpPost = new HttpPost(url); 43 /* 44 * 发送json字符串,这两句需要设置 45 */ 46 httpPost.addHeader("Content-type","application/json; charset=utf-8"); 47 httpPost.setHeader("Accept", "application/json"); 48 49 httpPost.setEntity(new StringEntity(params, "UTF-8")); 50 51 HttpResponse response = httpClient.execute(httpPost); 52 53 int statusCode = response.getStatusLine().getStatusCode(); 54 55 if (statusCode == HttpStatus.SC_OK) { 56 // Read the response body 57 result = EntityUtils.toString(response.getEntity(),"UTF-8"); 58 } 59 } catch (Exception e) { 60 e.printStackTrace(); 61 } 62 return result; 63 } 64 65 /** 66 * 发送post请求--用于接口接收的参数为键值对 67 * @param url 请求地址 68 * @param nameValuePairs 键值对 69 * @return 70 */ 71 public static String httpPost(String url, ListnameValuePairs) { 72 HttpClient httpClient = new DefaultHttpClient(); 73 HttpPost httpPost = new HttpPost(url); 74 String strResult = ""; 75 76 try { 77 httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8")); 78 HttpResponse response = httpClient.execute(httpPost); 79 80 if (response.getStatusLine().getStatusCode() == 200) { 81 /* 读返回数据 */ 82 strResult = EntityUtils.toString(response.getEntity()); 83 // System.out.println("conResult:"+conResult); 84 } else { 85 strResult += "发送失败:" + response.getStatusLine().getStatusCode(); 86 } 87 } catch (ClientProtocolException e) { 88 e.printStackTrace(); 89 } catch (IOException e) { 90 e.printStackTrace(); 91 } 92 93 return strResult; 94 } 95 96 public static String httpGet(String url, List nameValuePairs){ 97 HttpClient httpClient = new DefaultHttpClient(); 98 String sb = ""; 99 String result = "";100 try {101 for(NameValuePair nvp:nameValuePairs){102 sb += nvp.getName()+"="+nvp.getValue()+"&";103 }104 sb = sb.substring(0,sb.length()-1);105 sb = URLDecoder.decode(sb, "UTF-8");106 HttpGet httpGet = new HttpGet(url+"?"+sb);107 108 HttpResponse response = httpClient.execute(httpGet);109 if (response.getStatusLine().getStatusCode() == 200) {110 /* 读返回数据 */111 result = EntityUtils.toString(response.getEntity());112 } else {113 result += "发送失败:" + response.getStatusLine().getStatusCode();114 }115 116 } catch (ClientProtocolException e) {117 e.printStackTrace();118 } catch (IOException e) {119 e.printStackTrace();120 }121 return result;122 }123 124 public static void main(String[] args) {125 String url = "http://10.140.8.56/gd_fssc/rest/fsscService/getStaffInfo";126 String url2 = "http://localhost:8080/eshore-app-backframe-web/interface/getJson";127 128 // 发送 POST 请求129 JSONObject json = new JSONObject();130 json.put("number", "44053211@GD");131 httpPost(url,json.toString());132 133 List nameValuePairs = new ArrayList<>();134 nameValuePairs.add(new BasicNameValuePair("method", "login"));135 httpGet(url2,nameValuePairs);136 }137 }
引用的jar包: