java中请求post类型的接口,参数使用json

    技术2022-07-10  151

    如果编码格式不是utf-8可以换成别的,或者提出来一个参数也行 /** * * @param urlstr 请求的地址 * @param json json格式的参数 * @param headerMap 需要传入的header信息,如果没有可以为空 * @return */ public static String doPostJson(String urlstr, String json, Map<String, ?> headerMap) { try { URL url = new URL(urlstr); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setDoInput(true); connection.setRequestMethod("POST"); connection.setUseCaches(false); connection.setInstanceFollowRedirects(true); connection.setRequestProperty("Content-Type", "application/json"); if(headerMap!=null){ Iterator<String> keys = headerMap.keySet().iterator(); while (keys.hasNext()) { String key = keys.next(); Object val = headerMap.get(key); List tmpList = new ArrayList(); tmpList.add(val.toString()); connection.addRequestProperty(key, val.toString()); } } connection.connect(); DataOutputStream out = new DataOutputStream(connection.getOutputStream()); JSONObject obj = JSONObject.parseObject(json); out.writeBytes(obj.toString()); out.flush(); out.close(); //读取响应 BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String lines; StringBuffer sb = new StringBuffer(""); while ((lines = reader.readLine()) != null) { lines = new String(lines.getBytes(), "utf-8"); sb.append(lines); } reader.close(); connection.disconnect(); return sb.toString(); // 断开连接 } catch (MalformedURLException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return ""; }

     

    Processed: 0.020, SQL: 9