核心代码:
public static String execCurl(String[] cmds) { ProcessBuilder process = new ProcessBuilder(cmds); Process p; try { p = process.start(); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); StringBuilder builder = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { builder.append(line); builder.append(System.getProperty("line.separator")); } return builder.toString(); } catch (IOException e) { System.out.print("error"); e.printStackTrace(); } return null; }
测试用例:
public static void main(String[] args) { String[] cmds = {"curl", "-X", "POST", "http://localhost:9999/my/url?param1=1¶m2=2", "-H", "accept: */*", "-H", "Content-Type: application/json;charset=UTF-8", "-d" , "{ \"bodyName\": \"bodyValue\"}"}; System.out.println(execCurl(cmds)); }
注意命令符需要隔开,且不能有空格。