使用HttpGet 发送 json格式的参数

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


hashMap 参数实例:

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

具体实现函数:


    protected void requestService(Map 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();
            }
        }

    }




你可能感兴趣的:(java)