gpt4 book ai didi

java - 在java程序中发送shell命令

转载 作者:太空宇宙 更新时间:2023-11-04 12:52:00 24 4
gpt4 key购买 nike

我正在尝试在 java 程序中执行以下 shell 命令:

 curl -k -X POST -H "Content-Type:application/json" -d '{"COMMAND":"DISCSTATUS","USER":"PMDC"}' 
https://167.254.226.215/DcnWebSvr/DcnSvrCmd

返回字符串

 {"Result":"SUCCESS"}

从终端来看,此命令运行良好。但是当我尝试从 java 程序中执行此操作时,我没有得到相同的结果。

这是我的代码:

 StringBuffer output = new StringBuffer();
ProcessBuilder builder = new ProcessBuilder("curl","-k", "-X", "POST","- H","\"Content-Type:application/json\"",
"-d","'{\"COMMAND\":\"DISCSTATUS\",\"USER\":\"PMDC\"}'",
"https://167.254.226.215/DcnWebSvr/DcnSvrCmd");
builder.redirectErrorStream(true);
try {

Process process = builder.start();
InputStream is = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));

String line = null;
while ((line = reader.readLine()) != null) {
output.append(line + "\n");

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return output.toString();

但是,它没有输出正确的字符串。相反,它似乎将命令识别为某种传输,因为这是我得到的输出:

   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 40 0 0 100 40 0 164 --:--:-- --:--:-- --:--:-- 165

这只是我一直忽略的一些语法错误吗?我错过了什么?

最佳答案

您想使用curl --silent来抑制进度信息。

关于java - 在java程序中发送shell命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35735929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com