반응형
[Java 실습 #25] 간단한 Http 호출 - HttpURLConnection 활용
1. HttpURLConnection을 활용한 간단한 Http 호출 - 문자열 반환
2. 개발환경
2.1. 개발환경
2.2. 라이브러리
3. 구현
3.1. 프로젝트 구조
3.2. 구현 - 소스코드
4. 결과
1. Java의 HttpURLConnection을 활용한 간단한 Http 호출 테스트
2. 개발환경
2.1. 개발환경
MacOS M1 - macOS Monterey 12.0.1
IntelliJ IDEA 2021.2 (Community Edition)
2.2. 라이브러리
JDK 1.8
3. 구현
3.1. 프로젝트 구조
Test.java 파일
3.2. 구현 - 소스코드
[ Test.java ]
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class Test {
public static void main(String[] args) {
String result = read("https://naver.com", 5000);
System.out.println("result: \n" + result);
}
private static String read(String url, int timeout) {
try {
return read(new URL(url), timeout);
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
}
}
private static String read(URL url, int timeout) {
HttpURLConnection urlConnection = null;
try {
urlConnection = (HttpURLConnection) url.openConnection();
if (timeout > 0) {
urlConnection.setConnectTimeout(timeout);
}
urlConnection.connect();
InputStream in = urlConnection.getInputStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buf = new byte[1024 * 8];
int length = 0;
while ((length = in.read(buf)) >= 0) {
out.write(buf, 0, length);
}
// String result = new String(out.toByteArray());
return out.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
}
return null;
}
}
|
4. 결과
4.1 java 컴파일
javac Test.java
4.2. 테스트 (naver.com 호출)
java Test
반응형
'JAVA 자바 > JAVA 실습' 카테고리의 다른 글
[Java 실습 #24] 해당 class의 jar 파일 경로 추출 (0) | 2022.07.29 |
---|---|
[Java 실습 #18] InputStream 재사용 (3) - InputStream 재사용 class 활용 (0) | 2022.01.03 |
[Java 실습 #18] InputStream 재사용 (2) - ByteArray에 저장하여 사용 (0) | 2021.12.29 |
[Java 실습 #18] InputStream 재사용 (1) - mark, reset 활용 (0) | 2021.12.29 |
[Java 실습 #17] InputStream을 ByteArray로 변환 (0) | 2021.12.29 |