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

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

我找到了一些解决方案,但没有一个对我有效。我是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",
   "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,您将读取该文件并将其转换为字符串。