Я новичок в java и хотел использовать curl в java. В чем мой вопрос: curl встроен в java, или мне нужно установить его из любого стороннего источника для использования с Java. Если да, то как установить curl в java. Давно гуглил, но помощи не нашел. Надеюсь, что кто-нибудь сможет мне помочь.
Заранее спасибо.
Ответы:
Вы можете использовать
java.net.URL
и / илиjava.net.URLConnection
.URL url = new URL("https://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 . Нет, не используйте для этого регулярное выражение ».
Смотрите также:
источник
URLConnection
, но вам еще нужно знать и понимать спецификации HTTP. Кстати, не пытайтесь сравнивать PHP с Java. Это как яблоки и апельсины. Чтобы избежать неприятностей / недоразумений, лучше забудьте о PHP и по-новому взгляните на Java. Это язык с совершенно другой идеологией. PS: Я делаю и то, и другое, поэтому говорю по опыту.Некоторые люди уже упоминали HttpURLConnection , URL и URLConnection . Если вам нужны все элементы управления и дополнительные функции, которые предоставляет вам библиотека curl (и многое другое), я бы порекомендовал Apache httpclient .
источник
Объект Runtime позволяет вам выполнять внешние приложения командной строки из Java и, следовательно, позволит вам использовать cURL, однако, поскольку другие ответы показывают, что, вероятно, есть лучший способ сделать то, что вы пытаетесь сделать. Если все, что вам нужно сделать, это загрузить файл, объект URL будет отлично работать.
источник
Используя стандартные библиотеки java, я предлагаю взглянуть на класс HttpUrlConnection http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html
Он может справиться с большей частью того, что curl может сделать с установкой соединения. Что делать с потоком - решать вам.
источник
Curl - это программа, отличная от Java, и она должна предоставляться вне вашей программы Java.
Вы можете легко получить большую часть функциональности с помощью Jakarta Commons Net , если только вам не нужны какие-то конкретные функции, такие как «возобновление передачи» (что утомительно для написания кода самостоятельно)
источник
Используйте Runtime для вызова Curl. Этот код работает как для Ubuntu, так и для Windows.
String[] commands = new String {"curl", "-X", "GET", "http://checkip.amazonaws.com"}; Process process = Runtime.getRuntime().exec(commands); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; String response; while ((line = reader.readLine()) != null) { response.append(line); }
источник