출처: https://bumcrush.tistory.com/182 [맑음때때로 여름]

URL (Uniform Resource Locator)

인터넷상의 파일이나 데이터베이스같은 자원에 대한 주소를 지정하는 방법이다.

 

URL클래스

자바에서는 URL 객체를 이용하여 URL의 주소를 나타낸다.

URL 객체를 생성하는 방법은 다음과 같다.

(URL이 잘못 지정되었을 경우에는 MalformedURLException 예외를 발생시킨다.)

 

URL java = new URL("http:javappo.tistory.com");

 

URL 클래스의 메소드

메소드 설명
getprotocol() URL 주소의 프로토콜을 반환한다
getAuthority() URL 주소의 권한 요소를 반환한다
getHost() URL 주소의 호스트 이름을 반환한다
getPort() URL 주소의 포트 번호를 반환한다
getPath() URL 주소의 경로 요소를 반환한다
getQuery() URL 주소의 쿼리 요소를 반환한다
getFile() URL 주소의 파일 이름을 반환한다
getRef() URL 주소의 참조 요소를 반환한다

 

URLConnection 클래스

URL 객체를 생성한 후에 URL 클래스의 OpenConnection() 메소드를 호출하면 URLConnection 객체를 반환한다.

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class memojang {

	public static void main(String[] args) {
		
		try {
			URL java = new URL("https://javappo.tistory.com/");
			URLConnection uc=java.openConnection();
			//url에 대한 새로운 URLConnection 객체/인스턴스를 생성한다.			
		} catch (MalformedURLException e) { // new URL() 실패
			e.printStackTrace();
		} catch (IOException e) {    // openConnection() 실패
			e.printStackTrace();
		}

}

}
멤버변수 설명
Protected URL url 이 연결이 통신하는 대상인 파일이나 객체를 가지고 있다
Protected boolean allowUserInteraction true로 설정되면 패스워드 대화상자같은 사용자와 상호작용을 허용한다.
Protected boolen connected 현재 연결의 상태를 가지고 있다.
Protected boolean doInput true로 설정되면 이 URL이 입력을 위하여 사용됨을 의미한다.
Protected bollen doOutput true이 설정되면 이 URL이 출력을 위하여 사용됨을 의미한다.

생성자와 메소드

Protected URLconnection(URL url) url에 대한 새로운 URLConnection 객체를 생성한다
Protected abstract void connect() url에 대한 연결을 시도한다

 

 

URLConnection을 이용한 읽기

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class UTLconnectionTest {

	public static void main(String[] args) {

		
		try {
			// url 인스턴스 생성
			String urlpath = "http://www.ctware.net";
			URL url = new URL(urlpath);
			
			// urlconnection 인스턴스
			URLConnection conn = url.openConnection();
			
			// 연결된 파일(자원)을 읽을 스트림 생성
			BufferedReader in = null;
			
			// URLConnection 인스턴스에서 InputStream을 얻을 수 있다.
			InputStream is = conn.getInputStream(); 
			
			Reader reader = new InputStreamReader(is);
			
			in = new BufferedReader(reader);
			
			// 한줄씩 읽어올 임시 변수
			String str=null;
			
			while(true) {
				str=in.readLine();
				System.out.println(str);
				if(str==null) {
					break;
				}
			}
			
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {

			e.printStackTrace();
		}

	}

}
<출력>

<html>
<head>
</head>
<body>
<center>
<h1>DOTHOME WEB SERVER : <?php echo $_SERVER["HTTP_HOST"]?></h1>
<hr/>
<p>Copyright 2016~ DOTHOME.CO.KR</p>
</center>
</body>
</html>
null

+ Recent posts