How to use the following curl post command in java?

16,774

For anyone still looking

{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());
 }
Share:
16,774
flux
Author by

flux

Updated on June 04, 2022

Comments

  • flux
    flux almost 2 years

    i have looked into different threads on stack overflow and done some research, i am unable to run this code in java after making a http connection. The same command works perfectly fine in the command line

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

    I need a java code for the above curl command, i have been unable to come up with anything worthy yet

    • flux
      flux almost 7 years
      The thread does not concern itself with a java code for curl post method
    • OneCricketeer
      OneCricketeer almost 7 years
      So, what threads have you found? What HTTP library are you using?
    • Robert Rowntree
      Robert Rowntree almost 7 years
      tbray.org/ongoing/When/201x/2012/01/17/HttpURLConnection background.. get the WriteStream on the request and use a writer to put -d data from curl onto the Request.OutStream. set the headers ( just Content-type probably dont need Accept and .. should be good
    • flux
      flux almost 7 years
    • flux
      flux almost 7 years
      @VasylLyashkevych is it? the thread you have mentioned has hardly anything to do with java implementation of curl commands
  • DVN
    DVN about 5 years
    Would be better if there's more details on "wr.writeBytes(the data string);"