在使用UTL_HTTP發(fā)送HTTP請(qǐng)求之前,需要確保數(shù)據(jù)庫(kù)已經(jīng)啟用了utl_http
包??梢允褂靡韵虏襟E來發(fā)送HTTP請(qǐng)求:
utl_http.request
函數(shù)發(fā)送HTTP請(qǐng)求,并獲取響應(yīng)。以下是一個(gè)使用UTL_HTTP發(fā)送GET請(qǐng)求的示例代碼:
DECLARE
l_url VARCHAR2(2000) := 'http://example.com/api';
l_http_request utl_http.req;
l_http_response utl_http.resp;
BEGIN
l_http_request := utl_http.begin_request(l_url, 'GET');
utl_http.set_header(l_http_request, 'User-Agent', 'Mozilla/5.0');
l_http_response := utl_http.get_response(l_http_request);
-- 處理響應(yīng)內(nèi)容
dbms_output.put_line('HTTP Status Code: ' || l_http_response.status_code);
dbms_output.put_line('HTTP Response: ' || utl_http.read_text(l_http_response));
utl_http.end_response(l_http_response);
END;
/
在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)URL,然后使用utl_http.begin_request
函數(shù)創(chuàng)建一個(gè)HTTP請(qǐng)求。接著設(shè)置請(qǐng)求頭信息,發(fā)送請(qǐng)求并獲取響應(yīng)。最后,我們輸出了HTTP響應(yīng)的狀態(tài)碼和內(nèi)容。
需要注意的是,使用UTL_HTTP發(fā)送HTTP請(qǐng)求需要數(shù)據(jù)庫(kù)有網(wǎng)絡(luò)訪問權(quán)限,并且需要確保請(qǐng)求的安全性。