http协议中post方法发出请求
package com.chinaums.szm.test.base.igoodful;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
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 org.junit.Test;
import java.io.IOException;
import java.util.*;
public class TestPost {
public String doPost(String url, Map<String,String> map, String charset){
CloseableHttpClient httpClient = null;
HttpPost httpPost = null;
String result = null;
try{
httpClient = HttpClients.createDefault();
httpPost =new HttpPost(url);
List<NameValuePair> list = new ArrayList<>();
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String,String> entry =(Map.Entry<String,String>) iterator.next();
list.add(new BasicNameValuePair(entry.getKey(),entry.getValue()));
}
if (list.size() > 0){
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);
httpPost.setEntity(entity);
}
HttpResponse httpResponse = httpClient.execute(httpPost);
if (httpResponse != null){
HttpEntity httpEntity = httpResponse.getEntity();
if (httpEntity != null){
result = EntityUtils.toString(httpEntity,charset);
}
}
}catch (Exception ex){
ex.printStackTrace();
}
return result;
}
@Test
public void test() throws IOException {
String url = "http://admin.tingwen.me/index.php/api/interfaceXykj/touList";
Map<String,String> map = new HashMap<>();
map.put("page","100");
String result = this.doPost(url,map,"UTF-8");
//将输出更加优美的方式展示出。
ObjectMapper mapper = new ObjectMapper();
Object object = mapper.readValue(result,Object.class);
System.out.println( mapper.writerWithDefaultPrettyPrinter().writeValueAsString(object));
}
}
igoodful@qq.com