Auswahl  

CGI Parameter unter APEX auslesen 

Oracle
APEX
RDBMS 21.1:ORDS 20.3
03.07.18 (MP)
06.04.22
owa_util, APEX Parameter

Passende Schulungen zum Thema

Manchmal ist es sehr nützlich, herauszufinden auf welchem Server man gerade arbeitet. Dann kann man z.B. auf einem Testserver eine andere Seiten-Region ausgeben, als auf dem Produktivserver.
Leider funktioniert der Tipp nur innerhalb von APEX und nicht via SQL*Plus, SQL Developer oder anderen Tools:

Gehen Sie daher in APEX und erstellen Sie eine Dynamische PL/SQL Content Region in APEX und legen Sie dort folgenden Code ab:

BEGIN
FOR i  IN 1.. owa.num_cgi_vars LOOP
htp.p(owa.cgi_var_name(i)||' = '||owa.cgi_var_val(i)||'<BR>');
END LOOP;
END;

Nun wird beim Aufbau der Seite z.B. folgende Ausgabe erscheinen:

REMOTE_IDENT =
REMOTE_USER = APEX_PUBLIC_USER
host = 172.30.30.230:8080
user-agent = Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0
accept = text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
accept-language = de,en-US;q=0.7,en;q=0.3
accept-encoding = gzip, deflate
referer = http://172.30.30.230:8080/
connection = keep-alive
cookie =
upgrade-insecure-requests = 1
APEX_LISTENER_VERSION = 21.4.1.r0250904
DAD_NAME =
DOC_ACCESS_PATH =
DOCUMENT_TABLE =
GATEWAY_IVERSION = 3
GATEWAY_INTERFACE = CGI/1.1
HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
HTTP_ACCEPT_ENCODING = gzip, deflate
HTTP_ACCEPT_LANGUAGE = de,en-US;q=0.7,en;q=0.3
HTTP_ACCEPT_CHARSET =
HTTP_IF_MODIFIED_SINCE =
HTTP_IF_NONE_MATCH =
HTTP_HOST = 172.30.30.230:8080
HTTP_ORACLE_ECID =
HTTP_PORT = 8080
HTTP_REFERER = http://172.30.30.230:8080/
HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0
PATH_ALIAS =
PATH_INFO = /rest-template-erstellung
PLSQL_GATEWAY = WebDb
QUERY_STRING = session=1647342785893
REMOTE_ADDR = 172.30.30.30
REQUEST_CHARSET = AL32UTF8
REQUEST_IANA_CHARSET = UTF-8
REQUEST_METHOD = GET
REQUEST_PROTOCOL = http
REQUEST_SCHEME = http
SCRIPT_NAME = /ords/scott/r/oracle-rest
SCRIPT_PREFIX =
SERVER_NAME = 172.30.30.230
SERVER_PORT = 8080
SERVER_PROTOCOL = HTTP/1.1
SERVER_SOFTWARE = Mod-Apex
WEB_AUTHENT_PREFIX =
X-APEX-METHOD = GET
X-APEX-BASE = http://172.30.30.230:8080/ords/scott/
X-APEX-PATH = r/oracle-rest/rest-template-erstellung?session=1647342785893
X-APEX-REMOTE-ADDRESS = 172.30.30.30
X-APEX-CHARSET = UTF-8
HTTP_COOKIE =

Damit kann man nun in einer Condition wunderbar arbeiten, z.B. mit einer Exists SQL Query

SELECT 1 FROM dual
WHERE OWA_UTIL.get_cgi_env('REMOTE_ADDR')='172.20.20.1';

Weitere Tipps und Tricks erfahren Sie in einem unserer APEX Kurse in Unterhaching bei München

owa, cgi, APEX Parameter

Weitere Interessante Kurs-Tipps zum Thema