본문 바로가기
프로그래밍/java

자바 네트워크 프로그래밍 URLEncoder, URLDecoder, URLConnection 클래스

by -현's- 2014. 1. 29.
반응형


●URLEncoder 클래스

- 운영체제마다 일부 문자를 인식하는 방법이 다르기 때문에 이를 해결하기 위해 사용하는 클래스이다.


- URLEncoder 클래스는 데이터를 웹서버에서 요구하는 데이터 형식으로 바꾸는 기능을 한다. 


-위에서 웹서버가 요구하는 형식은 'x-www-form-urlencoded'라고 불리는 MIME 형식을 말한다.


-MIME 형식 변환 규칙

1. 아스키 문자(a~z, A~Z, 0~9), '.', '-', '_' 등은 그대로 전달된다.

2. 공백은 '+'로 전달된다.

3. 기타문자는 %ㅁㅁ 와 같이 전달된다. 이때 %ㅁㅁ는 아스키코드를 16진수화한 결과를 나타낸 것이다.









●URLDecoder 클래스

- URLEncoder클래스와 반대의 기능을 하는 클래스로, 'x-www-form-urlencoded' 형식의 MIME형식을 일반 문다열로 변환한다.



- ex

import java.net.*;

import java.io.*;


public class URLClass

{

public static void main(String[] args) throws UnsupportedEncodingException{

String strEncoding = URLEncoder.encode("abc 대한민국 ! @ # $ % 123 쀍", "utf-8");


String strDecoding = URLDecoder.decode(strEncoding, "utf-8");


System.out.println("인코딩된 문자열:"+strEncoding);

System.out.println("디코딩된 문자열:"+strDecoding);

}

} 












●URLConnection 클래스

- URL과 비슷한 기능을 가지지만 URL클래스는 단순 접속을 하는데 반해, URLConnection클래스는 UTL을 이용하여 참조된 자원에 대해 읽고 쓰는 작업을 할 수 있다.


- 어플리케이션과 URL간의 통신 링크를 작업을 하며, URL에 데이터 쓰기를 가능하게 해준다. 예를 들어 클라이언트가 서버에 보내는 서비스 요청이나 http로 폼 데이터를 post방식으로 보내는 역할을 한다.


- URLConnection 클래스 객체생성과 URL연결 위한 단계


1. URL에 대한 openConnection 메소드를 호출해서 URLConnection 클래스 객체를 생성한다.

ex) URL url = new URL("http://naver.com");

     URLConnection connection = url.openConnection();


2. connect 메서드에 의해 연결이 이루어진다.

ex) connection = url.openConnection();


3. 셋업 파라미터와 일반 요청 프로퍼티를 이용하여 연결한다.


4. 연결이 되면 객체는 이용 가능하게 되고, 객체의 헤더 항목과 내용을 읽을 수 있다.

 



- ex

import java.net.*;

import java.io.*;


public class URLConnectionTest

{

public static void main(String[] args){

try{

URL url = new URL("http://main.nateimg.co.kr/img/cms/content_pool/2014/01/140129_nate_BI(0).png");

URLConnection conn = url.openConnection();

System.out.println("문서의 타입:"+conn.getContentType());


}catch(Exception e){

//e.printStacktrace();

}

}

}

 









반응형

댓글