Frage Wie benutzt man cURL in Java?


Ich bin ein Neuling in Java und wollte Curl in Java verwenden. Was ist meine Frage ist in Java curl eingebaut oder ich muss es von jeder Quelle von Drittanbietern installieren, um mit Java zu verwenden. Wenn ja, wie installiere ich Curl in Java. Ich habe lange gegoogelt aber keine Hilfe gefunden. Hoffe jemand kann mir da draußen helfen.

Danke im Voraus.


75
2018-04-06 17:37


Ursprung


Antworten:


Sie können Gebrauch machen java.net.URL und / oder java.net.URLConnection.

URL url = new URL("http://stackoverflow.com");

try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
    for (String line; (line = reader.readLine()) != null;) {
        System.out.println(line);
    }
}

Siehe auch die Oracle's einfaches Tutorial zum Thema. Es ist jedoch ein bisschen ausführlich. Um weniger verbose Code zu erhalten, möchten Sie vielleicht berücksichtigen Apache HttpClient stattdessen.

Übrigens: Wenn Ihre nächste Frage lautet "Wie verarbeitet man HTML-Ergebnisse?" Lautet die Antwort:Verwenden Sie einen HTML-Parser. Nein, benutze Regex nicht dafür. "

Siehe auch:


119
2018-04-06 17:41



Einige Leute haben bereits erwähnt HttpURLConnection, URL und URLConnection. Wenn Sie alle Steuerungs- und Zusatzfunktionen benötigen, die Ihnen die curl-Bibliothek bietet (und mehr), würde ich Ihnen empfehlen Apache's httpclient.


3
2018-04-06 18:49



Das Laufzeit object ermöglicht es Ihnen, externe Befehlszeilenanwendungen von Java aus auszuführen und Ihnen daher die Verwendung von cURL zu ermöglichen, da die anderen Antworten darauf hindeuten, dass es wahrscheinlich eine bessere Möglichkeit gibt, das zu tun, was Sie zu tun versuchen. Wenn Sie nur eine Datei herunterladen möchten, funktioniert das URL-Objekt großartig.


2
2018-04-06 17:48



Unter Verwendung von Standard-Java-Bibliotheken schlage ich vor, die HttpUrlConnection-Klasse zu betrachten http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html

Es kann den größten Teil dessen bewältigen, was curl beim Einrichten der Verbindung tun kann. Was du mit dem Stream machst, bleibt dir überlassen.


1
2018-04-06 17:42



Curl ist ein Nicht-Java-Programm und muss außerhalb Ihres Java-Programms zur Verfügung gestellt werden.

Sie können leicht einen Großteil der Funktionalität nutzen Jakarta Commons Net, es sei denn, es gibt bestimmte Funktionen wie "Fortsetzen der Übertragung", die Sie benötigen (was mühsam ist, selbst zu programmieren)


1
2018-04-06 17:42