我被要求编写 PL/SQL 代码来获取定向页面的 URL。
一个 URL 可能会自动重定向到另一 URL。
例如,链接http://www.arabseed.com可能会重定向到http://www.arabseed.com/ar/home.html.
所以我的 PL/SQL 块应该接受第一个 URL 并返回第二个 URL。我在 Oracle API 中查看了@htp pkg,它对我没有多大帮助。
我很确定你的老板并不是想让其他人为你做你的工作。
如果您查看UTL_HTTP 文档您会发现一些示例可以为您完成 70% 的工作。
无论如何,这里是您要寻找的内容(对于一个重定向,我相信您能够将其修改为一系列重定向):
SET SERVEROUTPUT ON SIZE 40000
DECLARE
req UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
name VARCHAR2(256);
value VARCHAR2(1024);
BEGIN
req := UTL_HTTP.BEGIN_REQUEST('http://www.arabseed.com');
UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
UTL_HTTP.SET_FOLLOW_REDIRECT(req, 0);
resp := UTL_HTTP.GET_RESPONSE(req);
IF(resp.STATUS_CODE in (UTL_HTTP.HTTP_MOVED_PERMANENTLY,UTL_HTTP.HTTP_TEMPORARY_REDIRECT, UTL_HTTP.HTTP_FOUND))
THEN
FOR i IN 1..UTL_HTTP.GET_HEADER_COUNT(resp) LOOP
UTL_HTTP.GET_HEADER(resp, i, name, value);
if(name ='Location')
THEN
DBMS_OUTPUT.PUT_LINE('Redirecting to:' || value);
END IF;
END LOOP;
END IF;
UTL_HTTP.END_RESPONSE(resp);
END;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5679 次 |
| 最近记录: |