목차
- 자바 소스 코드 컴파일 명령 javac 예제 이전 포스팅
- 자바에서 HTTP 통신 예제 이전 포스팅
- 자바 문자열중 특정 값 존재 유무 확인 예제 이전 포스팅
- 자바 HTTP 응답에서 특정 값이 있는지 확인하는 예제
- 자바 사용자에게 단어 입력받아 특정 사이트 응답에서 찾기 예제
자바 소스 코드 컴파일 명령 javac 예제 이전 포스팅
오늘은 자바에서 HTTP 응답을 서버로부터 받았을 때 내가 원하는 값이 존재하는지 확인하는 방법에 대해 알아보도록 하겠습니다. HTTP란 웹브라우저에 표시할 데이터를 클라이언트와 서버가 서로 주고받는 프로토콜을 의미합니다. 암호문으로 주고받으면 HTTPS가 됩니다. 결국 이러한 응답은 문자열로 오게되고 우리가 원하는 목표는 문자열 속에서 특정 단어를 찾는 것이 됩니다.
오늘 예제를 실행해보기 위해서는 javac 명령으로 자바 소스 코드를 컴파일해야합니다. 아직 컴파일 방법을 모르신다면 아래 이전 포스팅 링크를 참조하여 학습해주세요.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
자바에서 HTTP 통신 예제 이전 포스팅
또한 자바에서 HTTPConnection으로 서버에 요청하고 응답을 수신하는 방법에 대해 이전 포스팅에서 다뤘습니다. 해당 내용을 참고하여 HTTP 응답을 가져와주세요.
2023.08.10 - [Java] - [Java] HTTP 클라이언트 GET 통신 예제(HttpURLConnection)
자바 문자열중 특정 값 존재 유무 확인 예제 이전 포스팅
마지막으로 자바에서 String 즉, 긴 장문에서 내가 원하는 특정 단어가 존재하는지 확인하는 예제를 알아보았습니다. 오늘도 비슷한 성격입니다. HTTP 응답은 곧 문자열이고 이 안에서 내가 원하는 값이 존재하는지 확인해보려면 아래 링크를 참고해주세요.
2023.08.11 - [Java] - [Java/Linux] 문자열의 특정 위치 문자 가져오기 예제(charAt)
자바 HTTP 응답에서 특정 값이 있는지 확인하는 예제
아래는 서버로부터 받은 HTTP 응답 문자열에서 특정 단어가 존재하는지 확인하는 예제입니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Example {
public static void main(String[] args) {
String urlStr = "https://example.com"; // 대상 URL에 맞게 수정해주세요
String targetWord = "example"; // 확인할 단어에 맞게 수정해주세요
try {
URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
if (line.contains(targetWord)) {
System.out.println("Target word found in the response!");
break;
}
}
reader.close();
} else {
System.out.println("HTTP Request failed with response code: " + responseCode);
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
자바 사용자에게 단어 입력받아 특정 사이트 응답에서 찾기 예제
아래는 사용자로부터 찾고자하는 단어를 입력받아 특정 사이트에서 모두 찾아내는 예제입니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("확인할 웹 페이지의 URL을 입력하세요: ");
String urlStr = scanner.nextLine(); // 대상 URL을 사용자에게서 입력 받음
System.out.print("확인할 단어를 입력하세요: ");
String targetWord = scanner.nextLine(); // 확인할 단어를 사용자에게서 입력 받음
try {
URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
if (line.contains(targetWord)) {
System.out.println("Target word found in the response!");
break;
}
}
reader.close();
} else {
System.out.println("HTTP Request failed with response code: " + responseCode);
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}