Странная кодировка текста ответа из веб-приложения REST в Tomcat - PullRequest
0 голосов
/ 05 июля 2018

Я столкнулся со странным текстом ответа от моего веб-приложения, работающего в Tomcat. По сути, мое веб-приложение будет вызывать приложение ping, запущенное в команде, и результат будет возвращен клиенту.

Код такой:

    @GET
    @Path("/pingport/{ip}/{port}")
    public Response pingIpPort(@PathParam("ip") String ip, @PathParam("port") String port) {
        String result = null;
        String command = "/tmp/paping -p " + port +" -c 5 " + ip;
        try {
//          ProcessBuilder builder = new ProcessBuilder(
//                  "bash", "-c",  "sudo hping3 -S -c 5 -p "+ port + " " + ip );
//          builder.redirectErrorStream(true);
//          Process proc = builder.start();
                        Process proc = Runtime.getRuntime().exec(command);
            BufferedReader reader =
                    new BufferedReader(new InputStreamReader(proc.getInputStream()));

            String line = "";
            while((line = reader.readLine()) != null) {
                //              System.out.print(line + "\n");
                LOGGER.warning(line + "\n");
                if(line.contains("Minimum")) {
                    result=line;
                }
            }

            proc.waitFor();
        } catch (IOException | InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        // Read the output
        return Response.status(200).entity(result).build();     
    }

Когда я перехожу на упомянутый URL, он дает странную кодировку, подобную этой:

Минимум = [01; 34м21,46мс [22; 0м, Максимум = [01; 34м27,20мс [22; 0м, Среднее = [01; 34м24,31мс [22; 0м

]

Но если я запускаю команду прямо из терминала в Ubuntu, это будет выглядеть так:

    Minimum = 20.69ms, Maximum = 28.48ms, Average = 23.77ms

Вы знаете, в чем проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...