Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What will be the equivalent to following curl command in java

Tags:

java

curl

i need to convert the following curl command into java command.

$curl_handle = curl_init ();

curl_setopt ($curl_handle, CURLOPT_URL,$url);`enter code here`
curl_setopt ($curl_handle, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl_handle, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($curl_handle, CURLOPT_POST, 1);
curl_setopt ($curl_handle, CURLOPT_POSTFIELDS, $postfields);

//echo $postfields;

$curl_result = curl_exec ($curl_handle) or die ("There has been a CURL_EXEC error");
like image 888
Kashif Ali Avatar asked Mar 20 '23 04:03

Kashif Ali


2 Answers

Http(s)UrlConnection may be your weapon of choice:

public String sendData() throws IOException {
    // curl_init and url
    URL url = new URL("http://some.host.com/somewhere/to/");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();

    //  CURLOPT_POST
    con.setRequestMethod("POST");

    // CURLOPT_FOLLOWLOCATION
    con.setInstanceFollowRedirects(true);

    String postData = "my_data_for_posting";
    con.setRequestProperty("Content-length", String.valueOf(postData.length()));

    con.setDoOutput(true);
    con.setDoInput(true);

    DataOutputStream output = new DataOutputStream(con.getOutputStream());
    output.writeBytes(postData);
    output.close();

    // "Post data send ... waiting for reply");
    int code = con.getResponseCode(); // 200 = HTTP_OK
    System.out.println("Response    (Code):" + code);
    System.out.println("Response (Message):" + con.getResponseMessage());

    // read the response
    DataInputStream input = new DataInputStream(con.getInputStream());
    int c;
    StringBuilder resultBuf = new StringBuilder();
    while ( (c = input.read()) != -1) {
        resultBuf.append((char) c);
    }
    input.close();

    return resultBuf.toString();
}

I'm not quite sure about the HTTPS_VERIFYPEER-thing, but this may give you a starting point.

like image 179
Jan Wegner Avatar answered Mar 31 '23 20:03

Jan Wegner


Have a look at the java.net.URL and java.net.URLConnection libraries.

URL url = new URL("yourUrl.com");

Then use a an InputStreamReader & BufferedReader.

More information in Oracles example: http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html

This might also help: How to use cURL in Java?

like image 25
Oli Bates Avatar answered Mar 31 '23 20:03

Oli Bates