我需要在java中执行Curl命令但没有得到任何响应
String command1 = "curl"+" "+url+" -d "+"grant_type="+grantType+" -d "+"username="+username+" -d "+"password="+password+" -d "+"client_id="+clientId+" -d "+"client_secret="+clientSecret;
//Process p1 = Runtime.getRuntime().exec(command1);
有人可以告诉我如何在java中执行相同的操作?
答案 0 :(得分:0)
首先,您需要确保curl
命令在您的路径中。如果curl
不在您的路径中,则必须使用curl
的绝对路径。
然后我建议您使用ProcessBuilder
之类的:
ProcessBuilder pb =
new ProcessBuilder("curl", "<your URL here>", "-d", "grant_type="+grantType, ...);
Process p = pb.start();
如果您需要重定向命令的输出,可以使用重定向,如:
File log = new File("output.log");
pb.redirectOutput(Redirect.appendTo(log));
如果您需要检查命令是否有错误,可以使用重定向,如:
File log = new File("error.log");
pb.redirectError(Redirect.appendTo(log));