curl命令如何转换为Java代码?

时间:2016-11-23 17:45:53

标签: java curl

我找到了一些解决方案,但没有一个对我有用。我是Java新手,到目前为止还没有成功使用Java卷曲。

curl -X POST -H "Content-Type: application/json" -o output.json --data-binary @input.json http://webaddress.com

JSON文件。

{
   "firstNumber": "00",
   "secondNumber": "12",
   "Type": "MyType",
   "data": [0,0,0,0,0]
}

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

最简单的方法是从java调用命令:

Process proc = 
    run.exec(new String[] {
     "/bin/sh", 
     "-c",
     "curl -X POST -H 'Content-Type: application/json' -o output.json --data-binary @input.json http://webaddress.com"
    });

/bin/sh是shell的位置。 -c执行命令。

当然,将命令移动到某种字符串常量,如果shell路径保持不变,也可以提取执行命令的实用程序方法。

答案 1 :(得分:0)

我对Spring的RestTemplate有很好的经验,这是一个样本:

JSONObject request = new JSONObject();
request.put("attribute1", "value");
request.put("attribute2", "value2");

RestTemplate restTemplate=new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<String>(request.toString(), headers);

ResponseEntity<String> loginResponse = restTemplate.exchange(urlString, HttpMethod.POST, entity, String.class);