调用POST请求的数据输入接口

package com.test;

import java.util.HashMap;
import java.util.Map;

import org.apache.http.Consts;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import net.sf.json.JSONObject;

public class TestApi {
    
    // 接口地址
    public static final String INSERT_API_URL = "";
    
    public static String httpPost(JSONObject json){
        
        String result = "";
        
        //CloseableHttpClient实现了HttpClient接口
        CloseableHttpClient httpClient= HttpClients.createDefault();
        HttpPost httpPost=new HttpPost(INSERT_API_URL);

        //创建HttpClientBuilder设置属性
        HttpClientBuilder httpClientBuilder = HttpClientBuilder.create().setDefaultRequestConfig(RequestConfig.custom()
                .setConnectionRequestTimeout(6000)
                .setSocketTimeout(6000)
                .setConnectTimeout(6000).build()).setRetryHandler(new DefaultHttpRequestRetryHandler(3, true));

        //设置请求头信息
        Map<String,String> map=new HashMap<>();
        map.put("Accept","application/json, text/plain, */*");
        map.put("Accept-Encoding","gzip, deflate");
        map.put("Accept-Language","zh-CN,zh;q=0.9");
        map.put("Connection","keep-alive");
        map.put("Content-Type","application/json;charset=UTF-8");
        map.put("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5024.400 QQBrowser/10.0.932.400");
        for (Map.Entry<String, String> entry : map.entrySet()) {
            httpPost.setHeader(entry.getKey(), entry.getValue());
        }


        //传递参数为json数据
        /*JSONObject json = new JSONObject();
        json.put("id", "123");
        json.put("name", "张三");*/
        
        //创建指定内容和编码的字符串实体类
        StringEntity entity=new StringEntity(json.toString(), Consts.UTF_8);
        //设置请求参数
        httpPost.setEntity(entity);

        // 创建HttpClient对象,CloseableHttpClient实例的生成器
        httpClient=httpClientBuilder.build();

        try {
            // 发送HttpPost请求,获取返回值
            CloseableHttpResponse response=httpClient.execute(httpPost);
            result = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                //释放资源
                httpClient.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        return result;
    }
    
    public static void main(String[] args) {
        
        //传递参数为json数据
        JSONObject json = new JSONObject();
        json.put("id", "1");
        json.put("name", "张三");
        
        System.out.println( httpPost(json));
        
    }
}
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.2</version>
</dependency>

猜你喜欢

转载自www.cnblogs.com/nachdenken/p/13162904.html