Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Python
- INT
- 리스트
- parseInt
- level1
- 최대공배수
- PaaS
- valueof
- java
- 짝수
- IaaS
- 11004
- IntelliJ
- 데이터타입
- 웹 서버
- aws
- 문자열 숫자 변환
- 자료형
- SaaS
- 유클리드 호제법
- 11652
- 백준
- 온프레미스
- 프로그래머스
- 최대공약수
- 2진수
- 홀수
- 프로젝트 생성
- 알고리즘
- algorithm
Archives
- Today
- Total
Ga0Lee
[Java] URL, HttpURLConnection 본문
URL (Unionform Resource Locator)
웹 리소스를 식별하고, Java에서 URL을 통해 파일이나 데이터에 접근할 수 있도록 경로를 제공한다.
URL 객체를 통해 URL의 구성 요소(프로토콜, 호스트명, 포트, 경로 등)를 얻을 수 있다.
URL url = new URL("<https://example.com:8080/path/to/resource?query=1>");
System.out.println("Protocol: " + url.getProtocol()); // https
System.out.println("Host: " + url.getHost()); // example.com
System.out.println("Port: " + url.getPort()); // 8080
System.out.println("Path: " + url.getPath()); // /path/to/resource
System.out.println("Query: " + url.getQuery()); // query=1
HttpURLConnection
HTTP(S) 프로토콜을 통해 서버와 통신하기 위한 클래스로 URLConnection을 상속받는다.
이 클래스는 새 인스턴스를 직접 만들지 못하고, URL.openConnection()을 통해 URL객체에서 HttpURLConnection 인스턴스를 생성할 수 있다.
protected HttpURLConnection (URL u) {
super(u);
}
protected URLConnection(URL url) {
this.url = url;
if (url == null) {
this.useCaches = defaultUseCaches;
} else {
this.useCaches = getDefaultUseCaches(url.getProtocol());
}
}
이를 사용하여 HTTP 요청을 구성하고 서버에 전송하며, 서버 응답을 받을 수 있다.
주요 메서드
- setRequestMethod(String method): 요청 메서드 지정 (GET, POST 등).
- setRequestProperty(String key, String value): 요청 헤더 설정.
- getResponseCode(): 서버 응답 코드 확인.
- getInputStream(), getOutputStream(): 서버와 데이터를 주고받는 스트림 연결.
URL url = new URL("<https://api.example.com/data>");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer token");
// 서버 응답 코드 확인
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
System.out.println(content.toString());
} else {
System.out.println("Request failed with code: " + responseCode);
}
conn.disconnect();
'Java' 카테고리의 다른 글
[Java] 멀티스레드와 동시성 처리 Synchronized (0) | 2024.11.19 |
---|---|
[Java] JSON 형식으로 변환하고 전송하기 ObjectMapper & OutputStream (1) | 2024.10.28 |
[JAVA] 10진수를 2진수로 변환하기 (0) | 2023.04.03 |
[Java] 배열 정렬하기/오름차순, 내림차순 - Arrays.sort() / primitive type, Object class, boxing (1) | 2022.06.23 |
[Java] 문자열을 배열로, 배열을 문자열로 변환하기/String.split(), String.join() (0) | 2022.06.18 |