如何在java中使用以下curl post命令?

时间:2017-06-24 02:26:48

标签: java json curl

我已经查看了堆栈溢出的不同线程并做了一些研究,我无法在进行http连接后在java中运行此代码。 相同的命令在命令行中完全正常

curl -X POST --header "Content-Type: application/json" --header "Accept: */*" -d "data" "http://a url"

我需要一个用于上面curl命令的java代码,我一直无法想出任何值得的东西

2 个答案:

答案 0 :(得分:4)

对于仍在寻找的人

{String urly = "your url";
URL obj = new URL(urly);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();

con.setRequestMethod("POST");
con.setRequestProperty("Content-Type","application/json");


con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(the data string);
wr.flush();
wr.close();

int responseCode = con.getResponseCode();
System.out.println("Response Code : " + responseCode);

BufferedReader iny = new BufferedReader(
new InputStreamReader(con.getInputStream()));
  String output;
  StringBuffer response = new StringBuffer();

  while ((output = iny.readLine()) != null) {
   response.append(output);
  }
  iny.close();

  //printing result from response
  System.out.println(response.toString());
 }

答案 1 :(得分:0)

如果您正在使用RESTful Web服务,我会选择Jersey客户端。

RESTful Java client with JerseyClient

如果您需要更多控制权,可以使用HttpClient

HttpClient posting http requests

我可能会避免使用HttpUrlConnection,除非你喜欢关闭它。