Java에서 HTTP 통신을 수행하기 위해 가장 일반적으로 사용되는 방법 중 하나는 Java의 java.net 패키지와 java.io 패키지를 활용하는 것입니다. 이러한 패키지를 사용하여 HTTP GET 및 POST 요청을 보내고 응답을 처리할 수 있습니다.
아래는 Java에서 HTTP 통신을 수행하는 간단한 예제입니다.
HTTP GET 요청 보내기
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HTTPGetExample {
public static void main(String[] args) {
try {
// URL 설정
URL url = new URL("https://example.com/api/data");
// HttpURLConnection 객체 생성
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// GET 요청 설정
connection.setRequestMethod("GET");
// 응답 코드 확인
int responseCode = connection.getResponseCode();
System.out.println("응답 코드: " + responseCode);
// 응답 데이터 읽기
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
// 응답 출력
System.out.println("응답 데이터: " + response.toString());
// 연결 닫기
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
HTTP POST 요청 보내기
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HTTPPostExample {
public static void main(String[] args) {
try {
// URL 설정
URL url = new URL("https://example.com/api/post");
// HttpURLConnection 객체 생성
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// POST 요청 설정
connection.setRequestMethod("POST");
connection.setDoOutput(true);
// POST 데이터 작성
String postData = "key1=value1&key2=value2";
byte[] postDataBytes = postData.getBytes("UTF-8");
OutputStream os = connection.getOutputStream();
os.write(postDataBytes);
os.flush();
os.close();
// 응답 코드 확인
int responseCode = connection.getResponseCode();
System.out.println("응답 코드: " + responseCode);
// 연결 닫기
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
이러한 예제를 기반으로 원하는 HTTP 요청을 만들고 응답을 처리할 수 있습니다. 그러나 실제 프로젝트에서는 더 나은 에러 처리, 인증 및 보안 관련 사항을 고려해야 합니다. 이런 경우 Apache HttpClient 또는 OkHttp와 같은 서드파티 라이브러리를 사용하는 것이 좋을 수 있습니다.
'게으른 개발자의 끄적거림' 카테고리의 다른 글
[DB] count(*), count(1) (0) | 2023.08.24 |
---|---|
리눅스 명령어 모음 (0) | 2023.08.23 |
form태그 submit 설명 (0) | 2023.08.21 |
React 함수 간단 정리 (0) | 2023.08.17 |
선형 리스트 (Linear List)와 연결 리스트 (Linked List) 차이 (0) | 2023.08.16 |