oracle查詢IP地域信息

declare 
  url varchar2(2000);
  req utl_http.req;
  resp utl_http.resp;
  value  VARCHAR2(1000);
  region VARCHAR2(50);
BEGIN 
  url:= 'http://www.youdao.com/smartresult-xml/search.s?type=ip\&q=25.238.158.9'; 
  req:= utl_http.begin_request(url);
  resp:= utl_http.get_response(req);
  loop
     utl_http.read_line(resp,value,TRUE);
     IF instr(VALUE,'<location>') > 0 THEN
       dbms_output.put_line('網站回覆' || value);
       IF instr(VALUE,' ') > 0 THEN
          region := substr(VALUE,instr(VALUE,'>',1)+1,instr(VALUE,' ',2)-instr(VALUE,'>',2)-1);
       ELSE
          region := substr(VALUE,instr(VALUE,'>',1)+1,instr(VALUE,'<',2)-instr(VALUE,'>',2)-1);
       END IF;
       IF region = '' THEN
          dbms_output.put_line('未知地址');
       ELSE
          dbms_output.put_line(region);
       END IF;
     END IF;
  END loop;
  utl_http.end_response(resp);
  EXCEPTION
  WHEN utl_http.end_of_body THEN
  utl_http.end_response(resp);
end;
/
注:使用DBA運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章