<span>http协议中post方法发出请求</span>

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));
}
}
全部评论

相关推荐

一个非常好用的遍历方法
AomaYple:不是指针,是引用
点赞 评论 收藏
分享
头像
11-07 01:12
重庆大学 Java
精致的小松鼠人狠话不多:签哪了哥
点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务