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());
}
Author by
flux
Updated on June 04, 2022Comments
-
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 almost 7 yearsThe thread does not concern itself with a java code for curl post method
-
OneCricketeer almost 7 yearsSo, what threads have you found? What HTTP library are you using?
-
Robert Rowntree almost 7 yearstbray.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 almost 7 years@cricket_007 stackoverflow.com/questions/9623158/…
-
flux almost 7 years@VasylLyashkevych is it? the thread you have mentioned has hardly anything to do with java implementation of curl commands
-
-
DVN about 5 yearsWould be better if there's more details on "wr.writeBytes(the data string);"