在oracle中通過utl_http獲得指定網頁內容,支援中文

junsansi發表於2007-08-01

之前寫過一個通過java procedures實現的oracle中讀取指定網頁的例子(詳見:http://junsansi.itpub.net/post/29894/279715),可能有些朋友會覺著使用java比較麻煩,現在提供另外一種方式,直接使用oracle中提供的包來實現讀取指定頁面的內容。

例如:
SET serveroutput ON SIZE 40000

DECLARE
req utl_http.req;
resp utl_http.resp;
value VARCHAR2(1000);
BEGIN

req := utl_http.begin_request('http://www.5ienet.com/online.asp');
resp := utl_http.get_response(req);
LOOP
utl_http.read_line(resp, value, TRUE);
dbms_output.put_line(value);
END LOOP;
utl_http.end_response(resp);
EXCEPTION
WHEN utl_http.end_of_body THEN
utl_http.end_response(resp);
END;


怎麼樣,是不是結果已經出來了,哎,不對怎麼中文字元都顯示成了亂碼,呵呵,別急,將下面這行程式碼加在resp:=那行之前再試試。
utl_http.set_header(req, 'Content-Type', 'text/html; charset=gb2312');


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-22269/,如需轉載,請註明出處,否則將追究法律責任。

相關文章