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 | 29 | 30 |
Tags
- TIOBE
- MariaDB
- analytics4
- 티스토리챌린지
- 명령어
- 르세라핌
- 자동배포
- 오블완
- JPQL
- visual studio code
- ci/cd
- docker
- git pat
- pat발급
- 애널리틱스4
- db종류
- jetbrain
- UNION ALL
- ANTIFRAGILE
- git branch 삭제
- spring
- EntityManager
- JPA
- github
- IntelliJ
- java
- Python
- gtihub
- Jenkins
Archives
- Today
- Total
hanker
JAVA - HttpUrlConnection, HttpsUrlConnection 본문
반응형
1. HttpUrlConnection
로컬에서 돌고있는 API를 하나 실행시켜서 결과값을 받아보자.
- API
@RequestMapping("/test")
public Map<String, Object> test() {
Map<String, Object> map = new HashMap<>();
map.put("index", "100");
map.put("name", "spring");
return map;
}
- URL 호출
public static void main(String[] args) throws Exception {
try {
// 요청할 URL (HTTP)
URL url = new URL("http://127.0.0.1:2000/test");
// HttpURLConnection 객체 생성
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 요청 방식 설정 (GET)
connection.setRequestMethod("GET");
// 응답 코드 확인
int responseCode = connection.getResponseCode();
System.out.println("Response Code : " + responseCode);
// 응답 데이터를 읽음
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 결과 출력
System.out.println("Response : " + response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
응답코드 200이면 성공, 위에서 return 값도 잘 들어왔다.
2. HttpsUrlConnection
해당 URL은 예제로 hanke-r.tistory.com 을 호출 시켜보자
public static void main(String[] args) throws Exception {
try {
// 요청할 URL (HTTP)
URL url = new URL("https://hanke-r.tistory.com");
// HttpURLConnection 객체 생성
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
// 요청 방식 설정 (GET)
connection.setRequestMethod("GET");
// 응답 코드 확인
int responseCode = connection.getResponseCode();
System.out.println("Response Code : " + responseCode);
// 응답 데이터를 읽음
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 결과 출력
System.out.println("Response : " + response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
결과
해당 URL은 view페이지를 반환하기 때문에 HTML코드로 return 된걸 확인할 수 있다.
주의할 점은 UrlConnection이 Http인지 Https인지 잘 파악해서 그에 맞는 라이브러리 사용해야한다.
java.lang.ClassCastException: sun.net.http://www.protocol.http.HttpURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection
만약 HttpsUrlConnection에 http를 입력하게 되었을경우 해당 오류가 발생한다.
끝
반응형
'JAVA' 카테고리의 다른 글
JAVA - stream (1) | 2024.09.13 |
---|---|
JAVA - HttpUrlConnection, HttpsUrlConnection (httpMethod GET, POST) (1) (0) | 2024.09.11 |
JAVA - HTML String값 특정 태그 변경 (1) | 2024.09.07 |
JAVA - 단일 역슬래시, 역슬래시 뒤 숫자 없애기 (1) | 2024.09.06 |
JAVA - Timestamp to String (13자리) (0) | 2024.09.03 |