有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

linux使用Java8发送curl命令

下面是我的代码,我试图使用java将curl命令发送到指定的url,但当我运行代码时,它不会执行并发送curl命令。请帮助修复它或告诉我哪里出错:

String command="curl 'http://ipaddress:port/smshttpquery/qs?REQUESTTYPE=SMSSubmitReq&USERNAME=myapp&PASSWORD=app&PHON=XXXXXXXXX&MESSAGE=TEST&ADDRESS=MYAPP&TYPE=4'";
    ProcessBuilder processBuilder=new ProcessBuilder(command.split(" "));
    try {
        processBuilder.start();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

我想要运行的linux命令是

curl 'http://ipaddress:port/smshttpquery/qs?REQUESTTYPE=SMSSubmitReq&USERNAME=myapp&PASSWORD=app&PHON=XXXXXXXXX&MESSAGE=TEST&ADDRESS=MYAPP&TYPE=4'

共 (2) 个答案

  1. # 1 楼答案

    假设您向我们展示了所有代码,您将看不到任何结果,这仅仅是因为您的代码没有读取流程的输出流(process.getInputStream())

    然而,在通往成功的道路上还有其他陷阱

  2. # 2 楼答案

    public static String HttpCall(String link) throws IOException{
        String response = "";
        String beginPoint = link;
        URL url = new URL(beginPoint);
    
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
            String line = "";
            while ((line = reader.readLine()) != null) {
                response += line;
            }
            reader.close();
            response = response.replace("\n", "").replace("\r", "");
        }
        return response;
    

    }