●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(); } } }
|
'프로그래밍 > java' 카테고리의 다른 글
자바 네트워크 프로그래밍 UDP 소켓 (0) | 2014.02.09 |
---|---|
자바 네트워크 프로그래밍 TCP/IP 소켓 (0) | 2014.01.31 |
자바 네트워크 프로그래밍 URL 클래스 (0) | 2014.01.29 |
자바 네트워크 프로그래밍 IP주소 관련 InetAddress 클래스 (0) | 2014.01.29 |
자바 네트워크 프로그래밍 인터넷 주소 체계 (0) | 2014.01.23 |
댓글