如何用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

上一篇: How to send curl with java

下一篇: ASP.NET Web API does not allow Lengthy base64 URI