Как использовать cURL в Java? - PullRequest
85 голосов
/ 06 апреля 2010

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

Заранее спасибо.

Ответы [ 5 ]

132 голосов
/ 06 апреля 2010

Вы можете использовать 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 . Нет, не используйте для этого регулярное выражение . ".

Смотри также:

4 голосов
/ 06 апреля 2010

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

3 голосов
/ 06 апреля 2010

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

2 голосов
/ 06 апреля 2010

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

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

2 голосов
/ 06 апреля 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...