java发送POST/GET/PUT/DELETE请求,header传参,body参数为json格式

一、maven引入apache

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5</version>
</dependency>

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.4</version>
</dependency>

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5</version>
</dependency>


二、封装post请求方法

public static String httpPost(String url,Map map){
// 返回body
String body = null;
// 获取链接客户端工具
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse httpResponse=null;
// 二、建立一个HttpPost请求
HttpPost post = new HttpPost(url);
// 五、设置header信息
   /**header中通用属性*/
    post.setHeader("Accept","*/*");
    post.setHeader("Accept-Encoding","gzip, deflate");
    post.setHeader("Cache-Control","no-cache");
    post.setHeader("Connection", "keep-alive");
    post.setHeader("Content-Type", "application/json;charset=UTF-8");
    /**业务参数*/
    post.setHeader("test1","test1");
    post.setHeader("test2",2);
  


// 设置参数
if (map != null) {

//System.out.println(JSON.toJSONString(map));
try {
StringEntity entity1=new StringEntity(JSON.toJSONString(map),"UTF-8");
entity1.setContentEncoding("UTF-8");
entity1.setContentType("application/json");
post.setEntity(entity1);

// 七、执行post请求操做,并拿到结果
httpResponse = httpClient.execute(post);
// 获取结果实体
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
// 按指定编码转换结果实体为String类型
body = EntityUtils.toString(entity, "UTF-8");
}
try {
httpResponse.close();
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return body;
}

三、封装GET请求方法

public static String httpGet(String url){
// 获取链接客户端工具
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse httpResponse=null;
String finalString = null;
HttpGet httpGet = new HttpGet(url);
/**公共参数添加至httpGet*/
/**header中通用属性*/
    httpGet.setHeader("Accept","*/*");
    httpGet.setHeader("Accept-Encoding","gzip, deflate");
    httpGet.setHeader("Cache-Control","no-cache");
    httpGet.setHeader("Connection", "keep-alive");
    httpGet.setHeader("Content-Type", "application/json;charset=UTF-8");
    /**业务参数*/
    httpGet.setHeader("test1","test1");
    httpGet.setHeader("test2",2);

try {
httpResponse = httpClient.execute(httpGet);
HttpEntity entity = httpResponse.getEntity();
finalString= EntityUtils.toString(entity, "UTF-8");
try {
httpResponse.close();
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
return finalString;
}

四、封装put请求

public static String httpPut(String url,Map map){

String encode = "utf-8";

//HttpClients.createDefault()等价于 HttpClientBuilder.create().build();
CloseableHttpClient closeableHttpClient = HttpClients.createDefault();
HttpPut httpput = new HttpPut(url);
// 五、设置header信息
/**header中通用属性*/
    httpput.setHeader("Accept","*/*");
    httpput.setHeader("Accept-Encoding","gzip, deflate");
    httpput.setHeader("Cache-Control","no-cache");
    httpput.setHeader("Connection", "keep-alive");
    httpput.setHeader("Content-Type", "application/json;charset=UTF-8");
    /**业务参数*/
    httpput.setHeader("test1","test1");
    httpput.setHeader("test2",2);


//组织请求参数
StringEntity stringEntity = new StringEntity(JSON.toJSONString(map), encode);
httpput.setEntity(stringEntity);
String content = null;
CloseableHttpResponse httpResponse = null;
try {
//响应信息
httpResponse = closeableHttpClient.execute(httpput);
HttpEntity entity = httpResponse.getEntity();
content = EntityUtils.toString(entity, encode);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
httpResponse.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
closeableHttpClient.close(); //关闭链接、释放资源
} catch (IOException e) {
e.printStackTrace();
}
return content;
}
五、封装delete请求

public static String httpDelete(String url){

//HttpResponse response = new HttpResponse();

String encode = "utf-8";

String content = null;
//since 4.3 再也不使用 DefaultHttpClient
CloseableHttpClient closeableHttpClient = HttpClientBuilder.create().build();
HttpDelete httpdelete = new HttpDelete(url);
// 五、设置header信息

/**header中通用属性*/
    httpdelete.setHeader("Accept","*/*");
    httpdelete.setHeader("Accept-Encoding","gzip, deflate");
    httpdelete.setHeader("Cache-Control","no-cache");
    httpdelete.setHeader("Connection", "keep-alive");
    httpdelete.setHeader("Content-Type", "application/json;charset=UTF-8");
    /**业务参数*/
    httpdelete.setHeader("test1","test1");
    httpdelete.setHeader("test2",2);


CloseableHttpResponse httpResponse = null;
try {
httpResponse = closeableHttpClient.execute(httpdelete);
HttpEntity entity = httpResponse.getEntity();
content = EntityUtils.toString(entity, encode);

} catch (Exception e) {
e.printStackTrace();
}finally{
try {
httpResponse.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try { //关闭链接、释放资源
closeableHttpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
return content;}
相关文章
相关标签/搜索