Как использовать cURL в Java?

Я новичок в java и хотел использовать curl в java. Каков мой вопрос - встроен в java или я должен установить его из любого стороннего источника для использования с Java. Если да, то как установить завиток в java. Я давно искал Google, но не нашел никакой помощи. Надеюсь, кто-нибудь может мне помочь.

Спасибо заранее.

Ответ 1

Вы можете использовать java.net.URL и/или 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);
    }
}

Также см. простой учебник Oracle по этому вопросу. Это, однако, немного многословно. Чтобы получить более подробный код, вы можете вместо этого рассмотреть Apache HttpClient.

Кстати, если ваш следующий вопрос: "Как обрабатывать результат HTML?", тогда ответ "Используйте парсер HTML . Нет, не используйте regex для этого.

См. также:

Ответ 2

Некоторые люди уже упомянули HttpURLConnection, URL и URLConnection. Если вам нужны все элементы управления и дополнительные функции, которые предоставляет библиотека curl (и многое другое), я бы рекомендовал Apache httpclient.

Ответ 3

Объект Runtime позволяет выполнять внешние приложения командной строки с Java и поэтому позволит вам использовать cURL, однако, поскольку другой ответы указывают, что, вероятно, лучший способ сделать то, что вы пытаетесь сделать. Если все, что вы хотите сделать, это загрузить файл, объект URL будет работать отлично.

Ответ 4

Используя стандартные java-библиотеки, я предлагаю посмотреть класс HttpUrlConnection http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html

Он может обрабатывать большую часть того, что завиток может сделать при настройке соединения. Что вы делаете с потоком, зависит от вас.

Ответ 5

Curl - это не-java-программа и должна предоставляться вне вашей Java-программы.

Вы можете легко получить большую часть функциональности, используя Jakarta Commons Net, если нет определенных функций, таких как "возобновление передачи", которое вам нужно ( который является утомительным для кода самостоятельно)