-- dba 用户 新增授权ACL
begin
dbms_network_acl_admin.create_acl (
acl => 'ksh_http.xml',
description => 'HTTP Access',
principal => 'SDYDXJ', -- 授权用户账号,需要大写
is_grant => TRUE,
privilege => 'connect',
start_date => null,
end_date => null
);
dbms_network_acl_admin.add_privilege (
acl => 'ksh_http.xml',
principal => 'SDYDXJ',
is_grant => TRUE,
privilege => 'resolve',
start_date => null,
end_date => null
);
dbms_network_acl_admin.assign_acl (
acl => 'ksh_http.xml',
host => '*'
);
end;
--dba 用户 删除acl
begin
dbms_network_acl_admin.drop_acl(
'/sys/acls/ksh_test.xml'
);
commit?
end;
存储过程脚本
脚本是以POST方式请求
create or replace procedure PRO_POSTREQ (r_url in varchar2) is
req UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
v_message varchar2(10000);
xmlstr varchar2(30000);
v_url varchar2(10000);
begin
begin
v_url := r_url;
req := UTL_HTTP.BEGIN_REQUEST(v_url,'POST');
utl_http.set_header(req, 'Content-Type', 'application/json; charset=utf-8');
utl_http.write_text(req,xmlstr);
utl_http.set_header(req, 'Content-Length','100');
resp := UTL_HTTP.GET_RESPONSE(req);
LOOP
UTL_HTTP.read_line(resp,v_message, TRUE);
dbms_output.put_line(v_message);
END LOOP;
utl_http.end_request(req);
utl_http.end_response(resp);
EXCEPTION
WHEN utl_http.end_of_body THEN
utl_http.end_response(resp);
WHEN OTHERS THEN
utl_http.end_response(resp);
utl_http.end_request(req);
end;
END PRO_POSTREQ;