【问题标题】:Execute a curl command in java to a localhost在java中执行curl命令到本地主机
【发布时间】:2015-03-31 16:00:47
【问题描述】:

我是这一切的初学者,我需要在不使用 ubuntu 中的 sudo 的情况下执行 docker 命令才能使用 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 的前一个选项卡上显示程序的输出。

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

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

请帮帮我。

【问题讨论】:

  • 不要卷曲,使用java的http库来调用
  • 您能详细说明一下吗? @Leon

标签: java linux apache shell curl


【解决方案1】:

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

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

示例使用Spring作为依赖,我不确定你用的是什么,所以你可能需要自己下载jar并将它放在你的类路径中

【讨论】:

  • 如果问的不是太多,能否提供一个使用示例?
  • 嘿。我在 SOF 上找到了如何使用 httpurlconnection 将 php curl 转换为 java 的答案。我试过了,但有些命令没有发布到服务器上。我设置了另一个问题stackoverflow.com/questions/28272134/…你能检查一下并告诉我做错了什么吗?
  • 那个链接好像被删除了
猜你喜欢
  • 1970-01-01
  • 2016-06-22
  • 2012-01-01
  • 2014-11-17
  • 1970-01-01
  • 2017-08-08
  • 2021-12-29
  • 1970-01-01
相关资源
最近更新 更多