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/youngjoy/p/3726165.html