使用HttpGet 发送 json格式的参数

来源:互联网 发布:网络新技术有哪些方面 编辑:程序博客网 时间:2024/05/16 16:58

由于工作需要使用java实现http客户端发送get请求,且参数值为json格式,几经周折得以实现,现在记录分享如下:


hashMap 参数实例:

     Map<String, Object> indata = new HashMap();            indata.put("berthstatus", 1);            indata.put("berthcode", "22333");            indata.put("parkcode", "6688");            Map<String, Object> param = new HashMap();            param.put("indata",indata);

具体实现函数:

    protected void requestService(Map<String,Object> reqmap) throws Exception {        JSONObject obj = new JSONObject(reqmap);        String r = URLEncoder.encode(obj.toString(), "UTF-8");        String reqUrl = "http://192.168.17.35:8888/getParkInfo?jsonString=" + r;        System.out.println("请求参数:" + reqUrl);        CloseableHttpResponse response = null;        CloseableHttpClient client = null;        String res = null;        HttpGet httpGet = new HttpGet(reqUrl);        System.out.println("executing request" + httpGet.getRequestLine());        try {            client = HttpClients.createDefault();            response = client.execute(httpGet);            if (response.getStatusLine().getStatusCode() == 200) {                String result = EntityUtils.toString(response.getEntity());                System.out.println("executing result---连接正常" + result);            } else {                System.out.println("executing result---服务器连接异常");            }        } catch (Exception e) {            System.out.println("Exception================" + e.toString());        } finally {            if (response != null) {                response.close();            }            if (client != null) {                client.close();            }        }    }



原创粉丝点击