JAVA/포스팅

자바 URL(Uniform Resource Location)

짜집퍼박사(짜박) 2023. 11. 27. 14:14

URL(Uniform Resource Locator)은 자원의 위치를 나타내는 문자열입니다. 자원은 일반적으로 웹상의 문서, 이미지, 동영상 등의 파일이 될 수 있습니다. 자바에서는 URL 클래스를 사용하여 URL을 다룰 수 있습니다. 이 클래스는 java.net 패키지에 속해 있습니다.

 

URL 클래스의 생성자

 

1. URL(String spec)

주어진 문자열 spec을 기반으로 URL을 생성합니다.

URL url = new URL("https://www.example.com/path/file.html");

 

2. URL(URL context, String spec)

주어진 context URL과 상대 경로 문자열 spec을 기반으로 새로운 URL을 생성합니다.

URL baseUrl = new URL("https://www.example.com");
URL relativeUrl = new URL(baseUrl, "/path/file.html");

 

 

URL 클래스의 주요 메서드

 

1. openStream()

URL의 내용을 읽어오는 InputStream을 반환합니다.

InputStream inputStream = url.openStream();

 

2. openConnection()

URL에 대한 URLConnection 객체를 반환합니다. 이를 통해 더 많은 컨트롤이 가능합니다.

URLConnection connection = url.openConnection();

 

3. toString()

URL 객체를 문자열로 변환하여 반환합니다.

String urlString = url.toString();

 

4. getProtocol()

URL의 프로토콜을 반환합니다. 예를 들어, "http", "https" 등이 될 수 있습니다.

String protocol = url.getProtocol();

 

5. getHost()

URL의 호스트 이름을 반환합니다.

String host = url.getHost();

 

6. getPath()

URL의 경로를 반환합니다.

String path = url.getPath();

 

예제

import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;

public class URLExample {
    public static void main(String[] args) {
        try {
            // URL 생성
            URL url = new URL("https://www.example.com");

            // URL의 내용을 읽어오기
            BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            reader.close();

            // HttpURLConnection을 사용하여 더 많은 컨트롤
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

이 예제에서는 URL 클래스를 사용하여 웹사이트의 내용을 읽어오는 간단한 예제를 보여줍니다. openStream() 메서드를 사용하여 InputStream을 얻어온 후에는 파일을 읽는 것처럼 처리할 수 있습니다. 또한, openConnection() 메서드를 사용하여 HttpURLConnection을 얻어옴으로써 HTTP 헤더 및 상태 코드 등에 접근할 수 있습니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 소켓 프로그래밍  (0) 2023.11.27
자바 URLConnection  (0) 2023.11.27
자바 InetAddress  (0) 2023.11.27
자바 IP주소(IP address)  (0) 2023.11.27
자바 클라이언트(client)와 서버(sever)  (0) 2023.11.27