【问题标题】:Execute curl through Java [duplicate]通过Java执行curl [重复]
【发布时间】:2019-02-03 11:54:22
【问题描述】:

我有一个有效的 curl 命令:

curl -X POST http://localhost:8086/write?db=mydb --data-binary 'temp,device=xyz value=33'

我想通过Java来执行。

String url = "http://localhost:8086/write?db=mydb";
URL obj = new URL(url);
HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
conn.setRequestMethod("POST");

如何在 java 代码中定义“--data-binary”参数。

【问题讨论】:

  • curl 是一个程序。您没有调用该程序,因此您没有“执行 curl”。你只是在执行一个 HTTP 请求。
  • @Michael 这个问题专门询问,尽管使用了措辞,如何在 Java 中模仿 curl 的 --data-binary。链接的重复项是否回答了这个问题?
  • 您可以使用 Jsoup 库。文档 doc = Jsoup.connect(url).requestBody("temp,device=xyz value=33").header("Content-Type", "application/x-www-form-urlencoded").post();System .out.println(doc);
  • @Vulcan 查看最佳答案的“上传文件”部分

标签: java curl httpurlconnection


【解决方案1】:

运行示例代码:

HttpURLConnection conn = (HttpURLConnection) (new URL("https://www.quora.com")).openConnection();

conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
conn.setDoInput(true);

conn.setRequestMethod("PUT");
JSONObject data = new JSONObject();
//Now add all the data to this object using accumulate.

OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
out.write(data);

Bufferedreader reader = new BufferedReader ( new InputStreamReader(conn.getInputStream());
for (String line; (line = reader.readLine()) != null;) {
        System.out.println(line);
}
reader.close();
out.close();

Process p = Runtime.getRuntime().exec("diff fileA fileB"); //put curl instead of diff                                                                                                                                                    
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = stdInput.readLine()) != null) {
        System.out.println(s);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 2020-02-23
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    相关资源
    最近更新 更多