Java執行curl命令
需要注意的是,命令需要以數組的形式傳遞參數,就是把正常的命令以空格切分成數組就行了。而且參數前后不能有空格,不然會報錯。
具體的測試代碼如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestCurl {
public static void main(String[] args){
String[] cmds={"curl","http://localhost:18631/rest/v1/system/info"};//必須分開寫,不能有空格
System.out.println(execCurl(cmds));
}
//這里執行cmds命令
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 = null;
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;
}
}