본 장에서는 UTL_URL 패키지의 기본 개념과 패키지 내의 함수를 사용하는 방법을 설명한다.
UTL_URL는 URL 주소를 ESCAPE 형태로 변환하기 위한 함수를 제공하는 패키지이다. ESCAPE 형태는 Legal Characters와 Reserved characters를 제외한 문자를 %xx{ASCII의 16진수 표현}으로 변경하는 것을 말한다.
문자 구분 | 정규 표현식 |
---|---|
Unreserved Characters | [0-9] | [a-zA-Z] | - | _ | . | ! | ~ |* | ` | ( | ) |
Reserved characters | ; | / | ? | ; | @ | & | = | + | $ | , |
본 절에서는 UTL_URL 패키지에서 제공하는 함수를 알파벳 순으로 설명한다.
URL 주소를 ESCAPE 형태로 변환하는 함수이다.
프로토타입
FUNCTION ESCAPE ( url IN VARCHAR2, escape_reserved_chars IN BOOLEAN DEFAULT FALSE, url_charset IN VARCHAR2 DEFAULT utl_http.get_body_charset ) RETURN VARCHAR2;
파라미터
파라미터 | 설명 |
---|---|
url | ESCAPE 형태로 변경할 URL 이름이다. |
escape_reserved_chars | Reserved characters를 ESCAPE 형태로 변환할지의 여부를 결정한다.
|
url_charset | URL 주소의 문자 집합이다. 기본값은UTL_HTTP 패키지의 기본값을 사용하게 되며, UTL_HTTP의 BODY 문자집합의 기본값은 'ISO-8859-1' 이다. |
예제
BEGIN dbms_output.put_line( UTL_URL.ESCAPE('http://www.w3.org/blah blah.html') ); END; /
ESCAPE 형태(%xx)를 포함하는 URL 주소를 ESCAPE 형태가 아닌 일반 문자열로 변환하는 함수이다.
프로토타입
FUNCTION UNESCAPE ( url IN VARCHAR2, url_charset IN VARCHAR2 DEFAULT utl_http.get_body_charset ) RETURN VARCHAR2;
파라미터
파라미터 | 설명 |
---|---|
url | ESCAPE 형태의 URL 주소의 문자열이다. |
url_charset | URL 주소의 문자 집합이다. 기본값은UTL_HTTP 패키지의 기본값을 사용하게 되며, UTL_HTTP의 BODY 문자집합의 기본값은 'ISO-8859-1' 이다. |
예외 상황
예외 상황 | 설명 |
---|---|
URL_BAD_URL | 잘못된 ESCAPE 문자열을 포함하는 경우이다. |
예제
DECLARE ourl VARCHAR2(32767); eurl VARCHAR2(32767); BEGIN eurl := UTL_URL.ESCAPE('http://www.w3.org/Protocols/'); ourl := UTL_URL.UNESCAPE(eurl); END; /