|
|
|
и еще раз про utl_http и https...
|
|||
|---|---|---|---|
|
#18+
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production 0 PL/SQL Release 12.2.0.1.0 - Production 0 CORE 12.2.0.1.0 Production 0 TNS for Linux: Version 12.2.0.1.0 - Production 0 NLSRTL Version 12.2.0.1.0 - Production 0 Доброго времени суток! Имеем https-запрос: https://api.tracker.k50.ru/v2/call/list/?apiKey=f66f1166-42a3-4eee-b5a5-5003681cd23c=31936075418 []=analyticsClientId[]=compositeSource[]=compositeSourceType[]=rDomain[]=utmMedium[]=utmCampaign[]=utmContent[]=utmTerm[]=compositeKeyword=startTime%3E2018-09-25+00%3A00%3A00;stopTime%3C2018-09-26+00%3A00%3A00;callerPhone==79020007227 Понятно что в браузере он открывается и выдает JSON. Который бы хотелось получить и в БД... Установили их сертификат по ссылке: https://api.tracker.k50.ru Написали код: CREATE OR REPLACE procedure GOOGLEANL.test_google is l_url VARCHAR2(2000) := ' https://api.tracker.k50.ru/v2/call/list/?apiKey=f66f1166-42a3-4eee-b5a5-5003681cd23c=31936075418 []=analyticsClientId[]=compositeSource[]=compositeSourceType[]=rDomain[]=utmMedium[]=utmCampaign[]=utmContent[]=utmTerm[]=compositeKeyword=startTime%3E2018-09-25+00%3A00%3A00;stopTime%3C2018-09-26+00%3A00%3A00;callerPhone==79020007227'; l_charset varchar2(100) := 'UTF8'; l_http_request UTL_HTTP.req; l_http_response UTL_HTTP.resp; l_val varchar2(32547); l_http_req utl_http.req; l_http_resp utl_http.resp; begin BEGIN utl_http.set_wallet('file:/u01/app/oracle/walgoogle', 'Gq56743fq'); l_http_request := utl_http.begin_request(url => l_url, method => 'GET'); l_http_response := utl_http.get_response(l_http_request); EXCEPTION WHEN utl_http.too_many_requests THEN utl_http.end_request(l_http_request); END; utl_http.read_text(l_http_response, l_val, 5000); dbms_output.put_line (substr(l_val, 1, 256)); utl_http.end_response(l_http_response); exception when others then dbms_output.put_line (sqlerrm); raise; end; / При выполнении процы получаем ошибку: ORA-29273: сбой запроса HTTP ORA-06512: на "GOOGLEANL.TEST_GOOGLE", line 36 ORA-24263: Сертификат на удаленном сервере не совпадает с адресом назначения. ORA-06512: на "SYS.UTL_HTTP", line 380 ORA-06512: на "SYS.UTL_HTTP", line 1127 ORA-06512: на "GOOGLEANL.TEST_GOOGLE", line 16 ORA-06512: на line 2 Гугль по ней находит это: https://support.oracle.com/knowledge/Oracle Database Products/2275666_1.html Там пишут: до Upgrade to 12cR2, а у нас уже 12с2 (см.выше). Что делать, никто не представляет. Админ БД склоняет разрабов к реализации решения через жабу. Подскажите, это единственное решение или все-таки можно что-то допилить чтобы это работало на PL/SQL? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2018, 17:34 |
|
||
|
и еще раз про utl_http и https...
|
|||
|---|---|---|---|
|
#18+
fetisofили все-таки можно что-то допилить чтобы это работало на PL/SQL? TLS termination proxy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2018, 17:45 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1883379]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 484ms |

| 0 / 0 |
