반응형

[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, 0length);
            }
//            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

 

 

반응형