java - 在 java 中对本地主机执行 curl 命令

标签 java linux apache shell curl

我是这一切的初学者,我需要在不使用 ubuntu 中的 sudo 的情况下执行 docker 命令以使用 gcc 编译器。 为了实现这一点,我的一个 friend 用 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 go run 的前一个选项卡上显示程序的输出。

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

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

请帮帮我。

最佳答案

如果您想在代码中使用 json 的结果,那么 curl 可能不是您想要的。然而,如果您想从命令行执行操作,Curl 非常棒,是的,有 Java curl 绑定(bind),但我个人会使用 Apache HttpClient

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

该示例使用 Spring 作为依赖项,我不确定您使用的是什么,因此您可能必须自己下载 jar 并将其放在您的类路径中

关于java - 在 java 中对本地主机执行 curl 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28265341/

相关文章:

linux shell - 检查今天的文件,如果今天没有就上传到hdfs 如果不是今天就不要上传。给出文件已存在的消息

linux - 意外标记“完成”附近出现语法错误

phpMyAdmin 对于 php 5.5.8 出现错误 404

ruby - passenger-install-apache2-module 失败

Java 的 BigInteger C# 以 Base 32 表示

java - 如何让 Selenium 等到特定位置的文本

java - 如何在 Java 中转义 MySQL 语句中的引号

java - 计算 2 个坐标之间的立方体积

linux:在一个命令中触摸空文件和压缩

php - 如何减少服务器初始等待时间?