Pertanyaan Bagaimana cara menggunakan cURL di Java?


Saya seorang newbie di java dan ingin menggunakan curl di java. Apa pertanyaan saya adalah curl built-in di java atau saya harus menginstalnya dari sumber pihak ke-3 untuk digunakan dengan Java. Jika demikian, cara menginstal curl di java. Saya telah googling untuk waktu yang lama tetapi tidak menemukan bantuan. Semoga ada yang bisa membantu saya di sana.

Terima kasih sebelumnya.


75
2018-04-06 17:37


asal


Jawaban:


Anda dapat memanfaatkan java.net.URL dan / atau 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);
    }
}

Juga lihat Tutorial sederhana Oracle tentang masalah ini. Namun sedikit verbose. Untuk berakhir dengan kode verbose yang lebih sedikit, Anda mungkin ingin mempertimbangkannya Apache HttpClient sebagai gantinya.

By the way: jika pertanyaan selanjutnya adalah "Bagaimana memproses hasil HTML?", Maka jawabannya adalah "Gunakan parser HTML. Tidak, jangan gunakan regex untuk ini".

Lihat juga:


119
2018-04-06 17:41



Beberapa orang sudah disebutkan HttpURLConnection, URL dan URLConnection. Jika Anda membutuhkan semua kontrol dan fitur tambahan yang disediakan oleh curl library (dan lebih banyak lagi), saya akan merekomendasikan Apache httpclient.


3
2018-04-06 18:49



Itu Runtime objek memungkinkan Anda untuk mengeksekusi aplikasi baris perintah eksternal dari Java dan karena itu akan memungkinkan Anda untuk menggunakan cURL namun sebagai jawaban lain menunjukkan mungkin ada cara yang lebih baik untuk melakukan apa yang Anda coba lakukan. Jika semua yang ingin Anda lakukan adalah mengunduh file, objek URL akan bekerja dengan baik.


2
2018-04-06 17:48



Menggunakan java lib standar, saya sarankan untuk melihat kelas HttpUrlConnection http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html

Ia dapat menangani sebagian besar dari apa yang dapat dilakukan curl dengan mengatur koneksi. Apa yang Anda lakukan dengan aliran terserah Anda.


1
2018-04-06 17:42



Curl adalah program non-java dan harus disediakan di luar program Java Anda.

Anda dapat dengan mudah mendapatkan banyak fungsi yang digunakan Jakarta Commons Net, kecuali ada beberapa fungsi spesifik seperti "transfer resume" yang Anda perlukan (yang membosankan untuk membuat kode sendiri)


1
2018-04-06 17:42