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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Euer Verständnis auf, wie die Konvertierung, eine Befehlszeile, um eine Liste von string-Argumenten ist etwas falsch. (Dies ist etwa gleichwertig, wie eine Unix-shell arbeitet).
In der Regel, wenn ein Raum vorhanden ist, in der Befehlszeile bedeutet es ab, ein neues argument. So
sollte
Habe ich es benutzt, wie diese, die Ausführung von curl in java.