java中客户端发出请求并且接收到http服务端返回的数据参数并把这些参数以及参数值,求完整代码

图片说明

还有要说明的是,我要把参数和参数值存入数据库,,我是客户端,图片是我们测试返回的一小部分参数

需要导入Jersey的jar包

import java.util.List;
import java.util.Map;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.MediaType;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

 public static JSONObject sendHttpFormRequest(String url, Map<String, String> params){
        Form form = new Form();

        for(String key:params.keySet()){
            form.param(key, params.get(key));
        }

        JSONObject jsonObject = null;
        String result = null;
        try{

            long t1 = System.currentTimeMillis();

            Client client = ClientBuilder.newClient();

            WebTarget target = client.target(url);

            result = target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.entity(form,MediaType.APPLICATION_FORM_URLENCODED_TYPE), String.class);

            long t2 = System.currentTimeMillis();

            LoggerUtils.info("接口地址:" + url +", 接口访问所需时间:" + (t2-t1) + "ms");

            if(result!=null&&!"null".equals(result.trim())){
                jsonObject = JSONObject.parseObject(result);
            }

        }catch(Exception e){
            LoggerUtils.error("访问大数据接口异常:" + e.getMessage() + "\\nurl:" + url + "\\n参数:" +params + "\\n返回值:" + result, e);
        }

        return jsonObject;
    }