java 发送http json请求

public void getRemoteId(HttpServletRequest request,Model model){
        String name = request.getParameter("userName");
        String gender = request.getParameter("userGender");
        String birthDate = request.getParameter("birthDate");
        String birthHour = request.getParameter("birthHour");
        String birthMin = request.getParameter("birthMin");
        birthDate +=" "+birthHour+":"+birthMin;
        String addrId = request.getParameter("borough");
        String productId = request.getParameter("ProductId");
        String birthDateAccurate = request.getParameter("BirthAccurateSelect");
        String add_url = "http://test.com:8080/report.jo";
        String query = " {"mainUser":{"name":""+name+"","gender":""+gender+"","birthDate":""+birthDate+"","birthDateAccurate":""+birthDateAccurate+"","addrId":""+addrId+""},"productId":""+productId+""}";
        try {
            URL url = new URL(add_url);
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            connection.setDoInput(true);
            connection.setDoOutput(true);
            connection.setRequestMethod("POST");
            connection.setUseCaches(false);
            connection.setInstanceFollowRedirects(true);
            connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
            connection.connect();
            DataOutputStream out = new DataOutputStream(connection.getOutputStream());
            JSONObject obj = new JSONObject();
             
            String token = "d5f224c9f83874da5b5025794c773e8e";
            obj.put("query", query);
            obj.put("token", token);
            out.writeBytes(obj.toString());
            out.flush();
            out.close();
             
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String lines;
            StringBuffer sbf = new StringBuffer();
             while ((lines = reader.readLine()) != null) {
                    lines = new String(lines.getBytes(), "utf-8");
                    sbf.append(lines);
                }
                System.out.println(sbf);
                reader.close();
                // 断开连接
                connection.disconnect();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
原文地址:https://www.cnblogs.com/wqsbk/p/5311052.html