저는 자바의 초보자이고 자바에서 curl을 사용하고 싶었습니다. 내 질문은 자바에 내장 된 curl 또는 Java와 함께 사용하려면 타사 소스에서 설치해야합니다. 그렇다면 Java에서 curl을 설치하는 방법. 나는 오랫동안 인터넷 검색을 해왔지만 도움을 찾지 못했습니다. 누구든지 나를 도울 수 있기를 바랍니다.
미리 감사드립니다.
저는 자바의 초보자이고 자바에서 curl을 사용하고 싶었습니다. 내 질문은 자바에 내장 된 curl 또는 Java와 함께 사용하려면 타사 소스에서 설치해야합니다. 그렇다면 Java에서 curl을 설치하는 방법. 나는 오랫동안 인터넷 검색을 해왔지만 도움을 찾지 못했습니다. 누구든지 나를 도울 수 있기를 바랍니다.
미리 감사드립니다.
답변:
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와 자바를 비교하지 마십시오. 그것은 사과와 오렌지와 같습니다. 자기 문제 / 혼란을 피하려면 PHP를 잊어 버리고 Java에 대한 새로운 시각을 두십시오. 완전히 다른 이데올로기를 가진 언어입니다. PS : 두 가지를 모두 수행하므로 경험을 통해 말합니다.
어떤 사람들은 이미 HttpURLConnection , URL 및 URLConnection을 언급했습니다 . curl 라이브러리가 제공하는 모든 제어 및 추가 기능이 필요한 경우 (및 그 이상) Apache의 httpclient를 권장 합니다.
표준 자바 라이브러리를 사용하여 HttpUrlConnection 클래스 http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html을 살펴 보는 것이 좋습니다.
연결 설정으로 curl이 할 수있는 대부분의 작업을 처리 할 수 있습니다. 스트림으로 수행하는 작업은 사용자에게 달려 있습니다.
Curl은 Java가 아닌 프로그램이며 Java 프로그램 외부에서 제공되어야합니다.
필요한 "전송 재개"와 같은 특정 기능이없는 한 Jakarta Commons Net을 사용하면 많은 기능을 쉽게 얻을 수 있습니다 (자신의 코드 작성이 지루함).
런타임 을 사용 하여 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);
}