Ausführen CURL-Befehl von java-code

Möchte ich ausführen curl-Befehl von java-code. Ich habe bereits einige Dokumente, stackoverflow Fragen in Bezug auf die gleichen. Aber es ist nicht so dass das gewünschte Ergebnis, ich bin versucht, diese laufen curl-Befehl :

curl --noproxy <ip> 
-i 
-d "INSERT IN GRAPH <http://graph.com>{ <prop/Advanced_Data_Types> rdf:type owl:NamedIndividual ,
                                    <http://abcd/Video> ,
                                   <http://abcd/LearningResource/BookChapter> ;
                           <http://abcd/hasAuthor> <prop/Eric_Grimson> ;
                           <http://abcd/inLanguage> <http://abcd/#Hindi> ;
                           <http://abcd/sourceOrganization> <prop/IIT_Hyderabad> .}" 
-u "demo:demo" 
-H "Content-Type: application/sparql-query" http://<ip>:<port>/DAV/home/dba/xx

Dem JAVA code :

ProcessBuilder pb = new ProcessBuilder(
            "curl",
            "-i",
            "-d \"INSERT IN GRAPH <http://graph.com>{ <prop/Advanced_Data_Types> rdf:type owl:NamedIndividual ,<http://abcd/Video> ,<http://abcd/LearningResource/BookChapter> ;<http://abcd/hasAuthor> <prop/Eric_Grimson> ;<http://abcd/inLanguage> <http://abcd/#Hindi> ;<http://abcd/sourceOrganization> <prop/IIT_Hyderabad> .} ",
            "-u \"demo:demo\"",
            "-H \"Content-Type: application/sparql-query\"",
            "http://<ip>:<port>/DAV/home/dba/xx");

    pb.redirectErrorStream(true);
    Process p = pb.start();
    InputStream is = p.getInputStream();

    String line;
    BufferedInputStream bis = new BufferedInputStream(is);
    System.out.println(bis);

Ist irgendetwas falsch in meinem code? Ich möchte mit dieser besonderen curl-Befehl. Bitte helfen Sie.

  • Ein Leerzeichen in der Befehlszeile bedeutet, dass ein neues argument.
  • Danke. Es funktioniert.
Schreibe einen Kommentar