package com.test;
import org.apache.http.HttpEntity;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
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 java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
sendPost();
}
public static void sendPost(){
String value="12222";
//创建post请求对象
HttpPost post = new HttpPost("http://localhost:8080/test");
try {
//创建参数集合
List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
//添加参数
list.add(new BasicNameValuePair("key", value));
list.add(new BasicNameValuePair("releaseDate","2020-07-14 09:55:20"));
//把参数放入请求对象,,post发送的参数list,指定格式
post.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));
//添加请求头参数
post.addHeader("timestamp","1594695607545");
CloseableHttpClient client = HttpClients.createDefault();
//启动执行请求,并获得返回值
CloseableHttpResponse response = client.execute(post);
//得到返回的entity对象
HttpEntity entity = response.getEntity();
//把实体对象转换为string
String result = EntityUtils.toString(entity, "UTF-8");
//返回内容
System.out.println(result);
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
下面是把方法进行了封装
/**
*
* 发送请求
* @param url 发送的url
* @param headerMap 请求头参数集合 key参数名 value为参数值
* @param bodyMap 请求参数集合 key参数名 value为参数值
*/
public static String sendPost(String url, Map
//创建post请求对象
HttpPost post = new HttpPost(url);
try {
//创建参数集合
List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
//添加参数
if (bodyMap!=null){
for (String str:bodyMap.keySet()
) {
list.add(new BasicNameValuePair(str, bodyMap.get(str)));
}
}
//把参数放入请求对象,,post发送的参数list,指定格式
post.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));
if (headerMap!=null){
for (String str:headerMap.keySet()
) {
post.addHeader(str,headerMap.get(str));
}
}
CloseableHttpClient client = HttpClients.createDefault();
//启动执行请求,并获得返回值
CloseableHttpResponse response = client.execute(post);
//得到返回的entity对象
HttpEntity entity = response.getEntity();
//把实体对象转换为string
String result = EntityUtils.toString(entity, "UTF-8");
//返回内容
return result;
} catch (Exception e1) {
e1.printStackTrace();
return "";
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章