Luk*_*der 17
UTL_HTTP
是的,您可以从Oracle数据库发送HTTP请求.这是一篇很好的博客文章,总结了如何使用该UTL_HTTP
软件包来完成它:https:
//oracle-base.com/articles/misc/utl_http-and-ssl
SET SERVEROUTPUT ON SIZE 40000
DECLARE
req UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
value VARCHAR2(1024);
BEGIN
UTL_HTTP.SET_PROXY('proxy.my-company.com', 'corp.my-company.com');
req := UTL_HTTP.BEGIN_REQUEST('http://www-hr.corp.my-company.com');
UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
resp := UTL_HTTP.GET_RESPONSE(req);
LOOP
UTL_HTTP.READ_LINE(resp, value, TRUE);
DBMS_OUTPUT.PUT_LINE(value);
END LOOP;
UTL_HTTP.END_RESPONSE(resp);
EXCEPTION
WHEN UTL_HTTP.END_OF_BODY THEN
UTL_HTTP.END_RESPONSE(resp);
END;
Run Code Online (Sandbox Code Playgroud)
如果你想要一些中间层,你也可以使用Oracle AQ,我个人觉得它更强大:https: //docs.oracle.com/database/121/ADQUE/aq_intro.htm
使用Oracle AQ,您可以绕过HTTP层并直接访问Servlet内部调用的任何内容.