curl命令如何转换为Java代码?
问题描述:
我能找到一些解决方案,但没有人为我工作。我是Java新手,迄今为止在Java中使用curl还没有成功。curl命令如何转换为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]
}
任何帮助将非常感激。
答
最简单的方法是从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路径将保持不变,你可以将你的命令移动到某种字符串常量,也可以提取执行命令的实用程序方法。
答
我已经与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);
+0
感谢您的回复,这看起来像一个字符串正在发送。我将如何改变这个使用curl命令中的--data-binary。 – konopoly
+0
如果文件包含原始Json,您将读取该文件并将其转换为字符串。 –
你是什么意思,它是如何翻译? – Carcigenicate
你问如何从java启动curl或如何复制curl在java中的功能? – bradimus
[将curl调用转换为java urlconnection调用]可能重复(http://stackoverflow.com/questions/15684846/convert-curl-call-into-java-urlconnection-call) –