【发布时间】:2017-08-08 15:17:21
【问题描述】:
我想从 java 代码中执行 curl 命令。我已经看过几个文档,关于相同的stackoverflow问题。但它没有给出想要的结果,我正在尝试运行这个 curl 命令:
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
还有JAVA代码:
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);
我的代码有什么问题吗?我想使用这个特殊的 curl 命令。请帮忙。
【问题讨论】:
-
命令行中的空格表示新参数。
-
谢谢。它有效。