泰安个人代做网站,东莞p2p网站开发费用,怎样建设一个内部网站,手机网站建站公司UTL_HTTP包让SQL和PLSQL能够调用超文本传输协议#xff08;HTTP#xff09;#xff0c;也就是说可以使用它在Internet上访问数据。
当包用HTTPS从Web site获取数据时#xff0c;要使用Oracle Wallet#xff0c;它是由Oracle Wallet Manager或者orapki utility创建。非HTT…UTL_HTTP包让SQL和PLSQL能够调用超文本传输协议HTTP也就是说可以使用它在Internet上访问数据。
当包用HTTPS从Web site获取数据时要使用Oracle Wallet它是由Oracle Wallet Manager或者orapki utility创建。非HTTPS获取时则不需要Oracle wallet。 参照
https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/u_http.htm#ARPLS070 概述 操作步骤
函数、存储解析
begin_request开始一个HTTP请求会和目标web server建立一个网络连接。
set_xxx设置请求header
write_xxx设置请求body 参数
get_response获取响应的header
get_xxx获取响应header
read_xxx将响应内容转换成oracle识别的字符串等格式
end_request在请求未完成时中断请求 示例代码
set serveroutput on
DECLARE req UTL_HTTP.REQ; resp UTL_HTTP.RESP; value VARCHAR2(1000);
BEGIN --UTL_HTTP.SET_PROXY(proxy.my-company.com, corp.my-company.com); -- 1、开始放送请求 req : UTL_HTTP.BEGIN_REQUEST(http://192.168.12.55:8080/ords/test/ttest/); -- 2、设置请求header UTL_HTTP.SET_HEADER(req, User-Agent, Mozilla/4.0); -- 3、设置请求body -- 4、接收请求返回的响应 resp : UTL_HTTP.GET_RESPONSE(req); -- 5、获取响应header -- 6、转换响应格式为字符串 LOOP UTL_HTTP.READ_LINE(resp, value, TRUE); DBMS_OUTPUT.PUT_LINE(value); END LOOP; -- 7、结束响应 整个请求结束 UTL_HTTP.END_RESPONSE(resp); EXCEPTION WHEN UTL_HTTP.END_OF_BODY THEN UTL_HTTP.END_RESPONSE(resp);
END; 示例集合
参照
https://www.cnblogs.com/zjw-blog/p/14060723.html get请求
set serveroutput on
DECLARE req UTL_HTTP.REQ; resp UTL_HTTP.RESP; value VARCHAR2(10000);
BEGIN -- 1、开始放送请求 req : UTL_HTTP.BEGIN_REQUEST(http://192.168.12.51:8081/user/save?nameccc||||age15); -- 2、设置请求header -- 3、设置请求body -- 4、接收请求返回的响应 resp : UTL_HTTP.GET_RESPONSE(req); -- 5、获取响应header -- 6、转换响应格式为字符串 LOOP UTL_HTTP.READ_LINE(resp, value, TRUE); DBMS_OUTPUT.PUT_LINE(value); END LOOP; -- 7、结束响应 整个请求结束 UTL_HTTP.END_RESPONSE(resp); EXCEPTION WHEN UTL_HTTP.END_OF_BODY THEN UTL_HTTP.END_RESPONSE(resp);
END; 执行效果如下所示 post请求
DECLARE req UTL_HTTP.REQ; resp UTL_HTTP.RESP; value VARCHAR2(10000);
BEGIN -- 1、开始放送请求 req : UTL_HTTP.BEGIN_REQUEST(http://192.168.12.51:8081/user/save,POST); -- 2、设置请求header UTL_HTTP.SET_BODY_CHARSET(UTF-8); UTL_HTTP.SET_HEADER(req, Content-Type, application/x-www-form-urlencoded); UTL_HTTP.SET_HEADER(req, Content-Length,lengthb(nameccc||||age15)); -- 3、设置请求body UTL_HTTP.WRITE_TEXT(req,nameccc||||age15); -- 4、接收请求返回的响应 resp : UTL_HTTP.GET_RESPONSE(req); -- 5、获取响应header -- 6、转换响应格式为字符串 LOOP UTL_HTTP.READ_LINE(resp, value, TRUE); DBMS_OUTPUT.PUT_LINE(value); END LOOP; -- 7、结束响应 整个请求结束 UTL_HTTP.END_RESPONSE(resp); EXCEPTION WHEN UTL_HTTP.END_OF_BODY THEN UTL_HTTP.END_RESPONSE(resp);
END; 执行效果如下所示