Hier ein Beispiel zeigen Process die curl ausführt. Dieser Codeabschnitt funktioniert in meiner Umgebung einwandfrei. Eigentlich werden Sie es ohne Probleme ausführen. Das Programm erhält das Bild aus dem Internet und speichert es als JPG-Datei. Die JPG-Datei wird unter dem Pfad "/ home/your_user_name/Pictures" gespeichert.
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
public class ProcessBuilderTest {
public static void main(String arg[]) throws IOException {
ProcessBuilder pb = new ProcessBuilder(
"curl",
"-s",
"http://static.tumblr.com/cszmzik/RUTlyrplz/the-simpsons-season-22-episode-13-the-blue-and-the-gray.jpg ");
pb.directory(new File("/home/your_user_name/Pictures"));
pb.redirectErrorStream(true);
Process p = pb.start();
InputStream is = p.getInputStream();
FileOutputStream outputStream = new FileOutputStream(
"/home/your_user_name/Pictures/simpson_download.jpg");
BufferedInputStream bis = new BufferedInputStream(is);
byte[] bytes = new byte[100];
int numberByteReaded;
while ((numberByteReaded = bis.read(bytes, 0, 100)) != -1) {
outputStream.write(bytes, 0, numberByteReaded);
Arrays.fill(bytes, (byte) 0);
}
outputStream.flush();
outputStream.close();
}
}
Für Ihre Fragen. Es ist am direktesten und intuitivsten, um curl Java-Code zuzuordnen, wenn Processbuilder verwendet wird. Schreiben Sie einfach so, dass:
curl -s -d user.name=xxxx \
-d file=yyyy \
-d arg=-v \
'htttp://localhost:zzzz/templeton/v1/pig'
ProcessBuilder pb = new ProcessBuilder("-s","-d user.name=xxxx ","-d `file=yyyy","-d rg=-v" ,"htttp://localhost:zzzz/templeton/v1/pig");`
einen Blick auf 'http werden: // docs.oracle.com/JavaSE/7/docs/api/java/lang/ProcessBuilder.html' oder nimm ein [hier] (http://curl.haxx.se/libcurl/java/) – Jens
Es gibt viele Möglichkeiten, HTTP Post mit Java zu senden, google es einfach, hier ist eine von SO Antworten: http://stackoverflow.com/questions/4205980/java-sending-http-parameters-via-post-method-easily – udalmik