我使用java WebService发送curl请求,这是我的要求:
curl -d "input = a b c d" 'localhost:8090/jobs?appName=Test40&classPath=fr.aid.cim.spark.JavaWord&sync=true&timeout=1000000000'
我不知道我应该使用的图书馆以及我如何用java编写它。你能告诉我怎么做吗?
谢谢。
答案 0 :(得分:4)
如果您需要执行控制台命令(在这种情况下为curl):
Runtime runtime = Runtime.getRuntime();
try {
Process process = runtime.exec("curl -d \"input = a b c d\" 'localhost:8090/jobs?appName=Test40&classPath=fr.aid.cim.spark.JavaWord&sync=true&timeout=1000000000'");
int resultCode = process.waitFor();
if (resultCode == 0) {
// all is good
}
} catch (Throwable cause) {
// process cause
}
更新(根据您的评论): 添加以下行:
System.out.println("is: " + IOUtils.toString(process.getInputStream()));
System.out.println("es: " + IOUtils.toString(process.getErrorStream()));
输出是什么? 可以找到IOUtils here。
答案 1 :(得分:3)
你应该看看Apache HttpClient库。使用HC Fluent组件,您可以编写如下内容:
Request.Post("http://localhost:8090/jobs?appName=Test40&classPath=fr.aid.cim.spark.JavaWord&sync=true&timeout=1000000000")
.execute().returnContent();