[java] HttpClient를 사용하여 특정 웹 페이지의 HTML 소스 코드를 가져오는 방법은?
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
public class HtmlSourceCodeFetcher {
public static void main(String[] args) {
HttpClient httpclient = HttpClientBuilder.create().build();
HttpGet httpGet = new HttpGet("http://www.example.com"); // 대상 웹 페이지의 URL을 입력합니다.
try {
HttpResponse response = httpclient.execute(httpGet);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line;
while ((line = rd.readLine()) != null) {
System.out.println(line); // HTML 소스 코드를 출력합니다.
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
위 예제는 HttpClient 라이브러리를 사용하여 HTTP GET 요청을 보내고, 받은 응답에서 HTML 소스 코드를 추출하는 방법을 보여줍니다. 대상 웹 페이지의 URL을 httpGet
객체의 생성자에 전달하면, 해당 URL로 GET 요청을 보낼 수 있습니다.
응답으로 받은 데이터를 BufferedReader
를 사용하여 한 줄씩 읽어와 HTML 소스 코드로 출력합니다.
HttpClient 라이브러리는 Apache에서 제공하는 라이브러리로 많이 사용되며, 많은 유용한 기능들을 제공합니다.
이 예제를 실행하면, 해당 웹 페이지의 HTML 소스 코드가 출력됩니다.
더 많은 정보를 알고 싶다면 HttpClient 라이브러리의 공식 문서를 참조하십시오. 링크