curl命令如何转换为Java代码?
我找到了一些解决方案,但没有一个对我有效。我是Java新手,到目前为止在Java中使用curl还没有成功curl命令如何转换为Java代码?,java,curl,Java,Curl,我找到了一些解决方案,但没有一个对我有效。我是Java新手,到目前为止在Java中使用curl还没有成功 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", "d
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);
JSONObject请求=新建JSONObject();
请求。put(“attribute1”、“value”);
请求出售(“属性2”、“价值2”);
RestTemplate RestTemplate=新RestTemplate();
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity=新的HttpEntity(request.toString(),headers);
ResponseEntity loginResponse=restTemplate.exchange(urlString,HttpMethod.POST,entity,String.class);
什么意思?它是如何翻译的?您是在问如何从java启动curl,还是如何在java中复制curl的功能?可能是重复的我是在问如何使用java代码复制curl命令的操作。感谢您的回复,这看起来像是发送了字符串。我将如何更改它以使用curl命令中的--data二进制文件。如果文件包含原始Json,您将读取该文件并将其转换为字符串。