gpt4 book ai didi

java - 从 Java 通过 CMD 发送 XML

转载 作者:行者123 更新时间:2023-11-29 08:52:45 26 4
gpt4 key购买 nike

我无法正确执行此代码。在互联网上搜索并尝试了各种方法后,它仍然不会。

下面的代码应该使用“omp”向 OpenVAS 服务器发送命令。此命令在同一台机器上的命令行中运行正常。我认为这可能与传递 XML 有关。

private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {                                          

try
{
Runtime rt = Runtime.getRuntime();

String cmdString = "cmd /K omp -u admin -w admin --xml=\"<create_task><name>Nigni</name><comment>Deep scan on server 3</comment><config id='daba56c8-73ec-11df-a475-002264764cea'/><target id='2c57a13e-5174-4c88-83ec-13a1e18f1f75'/></create_task>\"";
System.out.println(cmdString);
Process pr = rt.exec(cmdString);
// Process pr = rt.exec("c:\\helloworld.exe");

BufferedReader input = new BufferedReader(new InputStreamReader(
pr.getInputStream()));

String line = null;

while ((line = input.readLine()) != null)
{
System.out.println(line);
jTextArea1.append(line + "\n\n");
}

int exitVal = pr.waitFor();
System.out.println("Exited with error code " + exitVal);

}
catch (Exception e)
{
System.out.println(e.toString());
e.printStackTrace();
}


}

任何帮助将不胜感激

谢谢

最佳答案

你必须传递一个字符串数组给 Runtime#exec():

String[] cmdString = new String[]{"cmd","/K","omp -u admin -w admin ..."};
Process pr = rt.exec(cmdString);

如果 omp 是一个可以直接传递的 exe:

String[] cmdString = new String[]{"omp","-u","admin","-w",...);
Process pr = rt.exec(cmdString);

关于java - 从 Java 通过 CMD 发送 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21904443/

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