PS: This will only work for text files and you can one for binary files too.
CREATE OR REPLACE FUNCTION CURL(i_URL VARCHAR2) RETURN CLOB IS
-- HTTP Portion
l_http_request UTL_HTTP.req;
l_http_response UTL_HTTP.resp;
l_clob CLOB;
l_text VARCHAR2(32767);
BEGIN
-- Initialize the CLOB.
DBMS_LOB.createtemporary(l_clob, FALSE);
-- Make a HTTP request and get the response.
l_http_request := UTL_HTTP.begin_request(i_URL);
l_http_response := UTL_HTTP.get_response(l_http_request);
-- Copy the response into the CLOB.
BEGIN
LOOP
UTL_HTTP.read_text(l_http_response, l_text, 32766);
DBMS_LOB.writeappend (l_clob, LENGTH(l_text), l_text);
END LOOP;
EXCEPTION WHEN UTL_HTTP.end_of_body THEN
NULL;
END;
UTL_HTTP.END_RESPONSE(l_http_response);
RETURN l_clob;
END CURL;
/
No comments:
Post a Comment