如何用java发送curl
我需要在curl request
发送参数,但我不关于curl请求。
请求是:如何在java中发送它。
curl --user xxx:xxxpass-H "Content-Type: application/json" -X POST -d
'{"ImageId":"local",
"ImageUrl":"http://www.gapcanada.ca/products/res/thumbimg/classic-fit-and-flare-dress-modern-red.jpg"}'
http://000.00.00.00:8080/api
那么,有更好的方法来做到这一点,但如果由于某种原因你真的想使用卷曲,
Runtime.getRuntime.exec("curl --user xxx:xxxpass-H "Content-Type:
application/json" -X POST -d
'{"ImageId":"local",
"ImageUrl":"http://www.gapcanada.ca/products/res/thumbimg/classic-fit-and-flare-dress-modern-red.jpg"}'"
实质上,这个Java函数在终端中运行一个命令,所以你可以执行你的请求。
也就是说,对于发布或放置请求。 为了获得,只需读取它的输出。
http://000.00.00.00:8080/api
如果您想发送请求而无需在客户端系统上安装curl可执行文件,请查看Apache HttpClient库。 :)
如果我正确理解你,你想要使用API,并且有人给你curl命令作为例子如何做。
你现在想在你的JAVA程序中实现相同的功能。
有几个库可以让你实现这一点。 Google for«java http客户端»。
在Java中使用JSON发送HTTP POST请求在Java或HTTP POST中,这也是一样。
在你的情况下,这将是这样的:
JSONObject json = new JSONObject();
json.put("ImageId", "local");
json.put("ImageUrl", "http://www.gapcanada.ca/products/res/thumbimg/classic-fit-and-flare-dress-modern-red.jpg");
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
try {
HttpPost request = new HttpPost("http://000.00.00.00:8080/api");
StringEntity params = new StringEntity(json.toString());
request.addHeader("content-type", "application/json");
request.setEntity(params);
httpClient.execute(request);
// handle response here...
} catch (Exception ex) {
// handle exception here
} finally {
httpClient.close();
}
链接地址: http://www.djcxy.com/p/45853.html