DBMS 1

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

UTL_HTTP

DBMS 1
Tibero 가이드
Tibero System Package Guide
UTL_HTTP
작성자
dataonair
작성일
2021-02-18 10:43
조회
1210



제30장UTL_HTTP




내용 목차






30.1. 개요

30.2. 함수


30.2.1. REQUEST





30.1. 개요




UTL_HTTP는 웹 표준(RFC2616)에 따라 웹 페이지의 요청을 처리하기 위한 함수를 제공하는 패키지이다.




30.2. 함수




본 절에서는 UTL_HTTP 패키지에서 제공하는 함수를 알파벳 순으로 설명한다.




30.2.1. REQUEST




URL을 통해 웹 서버로 요청을 보내 최대 2000byte의 데이터를 반환하는 함수이다. 웹 서버로 요청을 보낼 때에는 HTTP/1.1 표준의 GET 메소드를 이용한다.

REQUEST 함수의 세부 내용은 다음과 같다.

  • 프로토타입
    FUNCTION REQUEST
    (
    url IN VARCHAR2,
    proxy IN VARCHAR2 DEFAULT NULL,
    wallet_path IN VARCHAR2 DEFAULT NULL,
    wallet_password IN VARCHAR2 DEFAULT NULL
    )
    RETURN VARCHAR2;
  • 파라미터

    파라미터 설명
    url URL은'scheme://[user[password]@]host[:port]/[...]'와 같은 형태로 구성된다.

    • scheme는 http/https가 있으며, https는 다음에 구현할 예정이다.
    • user와 password는 proxy를 위해 존재하며, 다음에 구현할 예정이다.
    proxy 프록시 서버의 이름이다. (기본값: NULL, 다음에 구현할 예정이다.)
    wallet_path 클라이언트 쪽에서 HTTPS를 사용하기 위해 필요한 인증서를 저장하는 경로이다. (기본값: NULL, 다음에 구현할 예정이다.)
    wallet_password 인증서를 보기 위한 패스워드이다. (기본값: NULL, 다음에 구현할 예정이다.)
  • 예외 사항

    예외 사항 설명
    PKG_REQUEST_FAILED 잘못된 요청으로 웹 서버와 통신할 수 없는 경우에 발생한다.URL이 올바른지 혹은 웹 서버가 정상적으로 동작하는지 확인한다.
    PKG_TRANSFER_TIMEOUT 20초 이상 웹 서버로부터 응답이 없을 때 타임아웃이 발생한 경우이다.
  • 예제
    DECLARE 
    resp VARCHAR2(32767);
    BEGIN
    resp := UTL_HTTP.REQUEST('http://www.w3.org/Protocols/');
    END;
    /