curl命令在java中执行获取异常

时间:2017-05-17 08:32:37

标签: java curl

我需要在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中执行相同的操作?

1 个答案:

答案 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));