1

Web ページから画像をダウンロードする plsql プログラムを作成中です。TOAD で次のコードを実行すると、HTTP ステータス 200 (OK) が返されます。問題は、このコードをストアド プロシージャとして実行すると、HTTP ステータス 403 (Forbidden) が返されることです。

DECLARE
  req   UTL_HTTP.REQ;
  resp  UTL_HTTP.RESP;
  name  VARCHAR2(256);
  value VARCHAR2(1024);
BEGIN
  UTL_HTTP.SET_PROXY('example');
  req := UTL_HTTP.BEGIN_REQUEST('example');
  UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
  resp := UTL_HTTP.GET_RESPONSE(req);
  DBMS_OUTPUT.PUT_LINE('HTTP response status code: ' || resp.status_code);
  DBMS_OUTPUT.PUT_LINE('HTTP response reason phrase: ' || resp.reason_phrase);
  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;

TOAD での UTL_HTTP の使用 (アプリのログイン) とストアド プロシージャとしての使用 (アプリのログイン) の違いは何ですか?

4

1 に答える 1

0

コードはストアド プロシージャとして DB サーバーから実行されるため、DB サーバーにもプロキシを設定する必要があります。TOAD を介して実行しているときは、APPS サーバーのプロキシ設定を使用していました。

于 2014-10-14T23:32:25.640 に答える