如何在执行之前获取processbuilder命令

2024-03-03

我想知道在它发生之前将执行的命令。

      String cmd[] = {"curl",
            "-X",
            "POST",
            "https://api.renam.cl/medicion/insert?access-token={Yoq3UGQqDKP4D1L3Y6xIYp-Lb6fyvavpF3Lm-8cD}",
            "-H",
            "content-type: application/json",
            "-d",
            json.toString()};

        ProcessBuilder pb = new ProcessBuilder(cmd);

        Log.debug("COMANDO.TOSTRING " + pb.command().toString());

        Process p = pb.start();

        Log.debug(p.getOutputStream().toString());

        p.waitFor();

        BufferedReader reader
                = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String readline;

        while ((readline = reader.readLine()) != null) {
            Log.debug(readline);
        }

通过 readline,我有服务器答案输出,但我不知道如何获取我使用 processbuilder 执行的curl 命令。

EDIT 1:

我只需要使用 Linux 控制台发送此命令:

卷曲-X POST 'https://api.com/data/insert?access-token=Yoq3UGQqDKP4D1L3Y6xIYp-Lb6fyvavpF3Lm-8cD https://api.com/data/insert?access-token=Yoq3UGQqDKP4D1L3Y6xIYp-Lb6fyvavpF3Lm-8cD' -H '内容类型:application/json' -d '{ "pm25":2, "timestamp":1495077872, "dispositivo_mac": "12:34:56:78:90:12" }'

基本上我需要打印由 ProcessBuilder 对象处理的 cmd 数组,以便在星号方法执行之前查看它。


我用这段代码取得了成功:

ProcessBuilder pb = new ProcessBuilder(command);    
logger.debug(String.join(" ",pb.command().toArray(new String[0])));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在执行之前获取processbuilder命令 的相关文章

随机推荐