在java中执行curl命令到localhost

时间:2015-02-01 17:08:18

标签: java linux apache shell curl

我是这个的初学者,我需要执行docker命令而不使用ubuntu中的sudo来使用gcc编译器。 为了实现这一点,我的一个朋友在go lang中编写了一个名为http-to-shell的脚本,这是一个在http://localhost:4000上作为http服务器监听的程序,并在终端上执行命令并返回输出作为json响应的客户端。

我运行命令

sudo go run http-to-shell.go 

然后在另一个标签上我使用

之类的命令
curl -d command=ls http://localhost:4000

这完美无缺,然后如果我使用

curl --data-urlencode "command@command.txt" http://localhost:4000

它运行command.txt中的docker命令,并在我运行sudo的前一个选项卡上显示程序的输出。

现在,我的主要问题。由于我是初学者,我不知道如何从uhostntu中的localhost:8080的jsp页面运行它。

我一直在尝试,我尝试使用Using curl command in java中的答案 但是流程构建器不起作用。 我需要运行此curl命令并获取json响应以向用户显示其代码的输出。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

如果你想在你的代码中使用json的结果,那么curl可能不是你想要的。然而,如果你想从命令行做一些事情,那么Curl非常棒,是的,有Java卷曲绑定,但我亲自使用Apache HttpClient

以下是使用HttpClient进行REST调用的示例。 http://www.mkyong.com/webservices/jax-rs/restful-java-client-with-apache-httpclient/

该示例使用Spring作为依赖项,我不确定您的用途,因此您可能需要自己下载jar并将其放在类路径上