检索PL / SQL HTP包中的标头值

时间:2018-01-22 04:48:54

标签: oracle plsql mod-plsql

我们有一个运行mod plsql网关模型的网站。该过程将从UTL调用,模块PL / SQL执行HTP过程以生成HTML页面。现在我们将此页面与siteminder集成,以便我们可以与企业凭证集成,并且需要在我们的oracle DB中维护凭据。集成了Siteminder,并且siteminder在响应头中发送用户详细信息和角色组。如何在HTP过程中获取此响应头?

1 个答案:

答案 0 :(得分:-1)

可能对以下链接有用

UTL_HTTP包:
https://docs.oracle.com/cd/B28359_01/appdev.111/b28419/u_http.htm#i1013177
简短的例子:

DECLARE
  req   UTL_HTTP.REQ;
  resp  UTL_HTTP.RESP;
  name  VARCHAR2(256);
  value VARCHAR2(1024);
BEGIN
  req := UTL_HTTP.BEGIN_REQUEST('http://example.com');
  UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
  resp := UTL_HTTP.GET_RESPONSE(req);
  FOR i IN 1..UTL_HTTP.GET_HEADER_COUNT(resp) LOOP
    UTL_HTTP.GET_HEADER(resp, i, name, value);
    DBMS_OUTPUT.PUT_LINE(name || ': ' || value);
  END LOOP;
  UTL_HTTP.END_RESPONSE(resp);
END;

OWA_UTIL包:
https://docs.oracle.com/database/121/ARPLS/w_util.htm#ARPLS70773
简短的例子:

OWA_UTIL.get_cgi_env('REMOTE_HOST');