URLConnection
자바에서 네트워크 자원(URL)에 접근하기 위한 기본 클래스이다. 프로토콜에 상관 없이 URL에 연결하는 일반적인 틀이다.
HTTP, FTP, file 등 다양한 프로토콜을 지원할 수 있는 도구를 제공한다.
주요 메서드
- openConnection() : URL 객체에서 연결을 여는 메서드
- getInputStream() / getOutputStream() : 데이터를 주고받을 수 있는 스트림 제공
HttpURLConnection
URLConnection을 상속한 구체 클래스이다.
HTTP(S) 프로토콜 전용 기능을 확장한 클래스이며 HTTP프로토콜에 특화되어 있다.
GET, POST, PUT, DELETE 같은 HTTP 메서드를 지원한다.
HTTP 헤더 설정, 응답 코드 확인, 쿠키 처리 등 HTTP에 필요한 기능을 제공한다.
주요 메서드
- setRequestMethod("GET"), setRequestMethod("POST")
- setRequestProperty("User-Agent", "...")
- getResponseCode()
URLConnection과 HttpURLConnection은 모두 추상 클래스이므로 URLConnection과 HttpURLConnection의 새 인스턴스를 직접 만들 수 없다. 대신 URL 객체에서 연결을 통해 URLConnection의 인스턴스를 얻는다.
URL을 통한 통신 단계
1) URL 객체 생성 : 먼저 접근하고자 하는 서버 주소(URL)를 URL 객체로 만든다.
URL url = new URL("http://example.com/api/data");
2) 연결 객체 열기 (openConnection()) : URL객체에서 openConnection()을 호출하면 URLConnection 객체가 생성된다.
URLConnection conn = url.openConnection();
3) URL 연결 구성 : 서버에 보내는 요청 헤더나 옵션을 설정한다.
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-type", "application/json");
conn.setRequestProperty("User-Agent", "Java-URLConnection");
4) 헤더 필드 읽기
5) 출력 스트림 가져오기 및 데이터 쓰기
connection.setDoOutput(true);
OutputStream outputStream = connection.getOutputStream();
6) 입력 스트림 가져오기 및 데이터 읽기
InputStream inputStream = connection.getInputStream();
7) 연결 닫기
inputStream.close();
outputStream.close();
참고
https://blueyikim.tistory.com/2199
[요약] Java URLConnection과 HttpURLConnection 사용 방법
URL(대부분 HTTP 프로토콜 사용)을 통해 서버와 통신하는 Java 프로그램을 개발 하기 위 해 URLConnection 및 HttpURLConnection 클래스를 사용한다. 예를들어 파일, 웹 페이지를 업로드 및 다운로드, HTTP 요청
blueyikim.tistory.com
'Java' 카테고리의 다른 글
| String / StringBuilder / StringBuffer (0) | 2025.12.18 |
|---|---|
| 객체지향 프로그래밍 (OOP) (0) | 2025.12.17 |
| [Java] 인터페이스 (Interface) (0) | 2025.09.10 |
| [Java] JVM (Java Virtual Machine) (0) | 2025.09.09 |
| Java (2) | 2025.08.28 |