天天看点

HTTP调用远程接口-java

HTTP调用远程接口-java

一、url带参

String path = https://www.***.com/api/getToken?userId=123

CloseableHttpClient httpClient = HttpClients.createDefault();
    ResponseHandler<String> responseHandler = new BasicResponseHandler();
    try {
        httpClient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet(path);
        httpGet.setHeader("Content-type", "application/json");
        //获取返回值
        String execute = httpClient.execute(httpGet, responseHandler);
        log.info("execute ="+execute );
    }catch (Exception e){
        throw new RRException("调用接口失败");
    }
           

二、参数转成JSON字符串

String path = https://www.***.com/api/getToken

String json="{“name”:“张三”,“mobile”:123}\n";

CloseableHttpClient httpClient = HttpClients.createDefault();
ResponseHandler<String> responseHandler = new BasicResponseHandler();
        try {
            httpClient = HttpClients.createDefault();
            HttpPost httpPost = new HttpPost(path);
            //给httpPost设置JSON格式的参数
            StringEntity requestEntity = new StringEntity(json,"utf-8");
            requestEntity.setContentEncoding("UTF-8");
            httpPost .setHeader("Content-type", "application/json");
            httpPost.setEntity(requestEntity);
            String execute = httpClient.execute(httpPost , responseHandler);
            //解析为Map
            Map<String,Object> params = (Map<String,Object>)   JSON.parse(execute);
            log.info(params);
        }catch (Exception e){
            throw new RRException("调用接口失败");
        }
           

三、请求头中带参

String path = https://www.***.com/api/getToken

CloseableHttpClient httpClient = HttpClients.createDefault();
    ResponseHandler<String> responseHandler = new BasicResponseHandler();
    try {
        httpClient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet(path);
        httpGet.setHeader("Content-type", "application/json");
        //=======往请求头中放入参数======
        httpGet.setHeader("type", "123");
        httpGet.setHeader("page", "10");
        //=======往请求头中放入参数END======
        //获取返回值
        String execute = httpClient.execute(httpGet, responseHandler);
        log.info("execute ="+execute );
    }catch (Exception e){
        throw new RRException("调用接口失败");
    }
           

解析请求头数据:https://blog.csdn.net/xiaotianshi_01/article/details/108072095