public class ***HttpUtil*** {
/**以get方法调用接口
* @param url接口地址
* @param parameters接口的测试数据
* @param charset字符编码
*/
public static void doGet(String url,List<NameValuePair> parameters,String charset){
//参数:手机号、密码
String parameterString = URLEncodedUtils.format(parameters, charset);
url += ("?"+parameterString );
//创建请求对象
HttpGet httpGet = new HttpGet(url);
//创建http客户端对象
HttpClient httpClient = HttpClients.createDefault();
//添加请求头,指定数据格式
httpGet.addHeader("Content-Type","application/x-www-form-urlencoded; charset="+charset);
//发数据包
try {
//调用接口获取到服务器的响应
HttpResponse httpResponse = httpClient.execute(httpGet);
//从响应对象中取出状态码
int code = httpResponse.getStatusLine().getStatusCode();
//从响应对象中取出响应报文
String result = EntityUtils.toString(httpResponse.getEntity());
//从响应对象中取出响应头
String responseHeadersString = Arrays.toString(httpResponse.getAllHeaders());
System.out.println("code是:"+code);
System.out.println("响应报文是:"+result);
System.out.println("响应头信息是:"+responseHeadersString);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**以post方法调用接口
* @param url接口地址
* @param parameters接口的测试数据
* @param charset字符编码
*/
public static void doPost(String url,List<NameValuePair> parameters,String charset){
//创建请求对象
HttpPost httpPost = new HttpPost(url);
//创建http客户端对象
HttpClient httpClient = HttpClients.createDefault();
//发数据包
try {
//设置请求头Content-Type: application/x-www-form-urlencoded; charset=UTF-8
httpPost.addHeader(new BasicHeader("Content-Type", "application/x-www-form-urlencoded; charset="+charset));;
//准备参数,将参数设置到请求体中
String parameterString = URLEncodedUtils.format(parameters, charset);
httpPost.setEntity(new StringEntity(parameterString, charset));
//StringEntity传递进来的参数是字符串,字符串的格式取决与前面设置的Content-Type
//调用接口获取到服务器的响应
// HttpResponse httpResponse = httpClient.execute(new HttpHost(“127.0.0.1”, 8888),httpPost);
HttpResponse httpResponse = httpClient.execute(httpPost);
//从响应对象中取出状态码
int code = httpResponse.getStatusLine().getStatusCode();
//从响应对象中取出响应报文
String result = EntityUtils.toString(httpResponse.getEntity());
//从响应对象中取出响应头
String responseHeadersString = Arrays.toString(httpResponse.getAllHeaders());
System.out.println(“code是:”+code);
System.out.println(“响应报文是:”+result);
System.out.println(“响应头信息是:”+responseHeadersString);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}