我試圖向國際空間站REST API發出一個GET請求,作為PLSQL的測驗,但它給我一個ORA-29273。HTTP請求失敗錯誤。
我的代碼是:
declare
l_url varchar2(32767) := 'https://api.wheretheiss.at/v1/satellites/25544'。
l_http_request utl_http.req;
l_http_response utl_http.resp;
l_text varchar2(32767)。
begin[/span
-- 提出一個HTTP請求并得到回應。
l_http_request := utl_http.begin_request(l_url)。
--如果需要的話,使用基本認證。。
--IF p_username IS NOT NULL and p_password IS NOT NULL THEN
-- UTL_HTTP.set_authentication(l_http_request, p_username, p_password);
--END IF;
l_http_response := utl_http.get_response(l_http_request)。
-- 回圈瀏覽回應。
begin
回圈
utl_http.read_text(l_http_response, l_text, 32766)。)
dbms_output.put_line(l_text)。
end回圈。
例外
when utl_http.end_of_body then
utl_http.end_response(l_http_response)。
end。
例外
when別人 then
utl_http.end_response(l_http_response)。
提高。
end。
而錯誤是這樣的:
ORA29273: HTTP請求失敗
ORA-06512: at line 27.
ORA-29259: end-of-input reached
ORA-06512。at "SYS.UTL_HTTP", line 380.
ORA-06512: at "SYS.UTL_HTTP", line 1148.
ORA-06512: at line 8.
有誰知道問題出在哪里,或者如何正確地對REST API端點網址進行GET請求?
uj5u.com熱心網友回復:
你好,你是否檢查了一下,看看你是否通過ACL允許這個API主機。 這可能是你的問題。 https://ittutorial.org/oracle-acl-the-access-control-list-acl-and-how-to-create-and-grant-an-acl-in-oracle-database/
uj5u.com熱心網友回復:
ORA-29259: end-of-input reached錯誤通常表明UTL_HTTP未能協商HTTPS連接的安全性。你可以在這里找到幾個類似的問題--有時這意味著你的Oracle版本不支持HTTPS服務器所需的密碼套件,但在你的情況下,我認為這可能意味著你還沒有設定錢包。
在這里有幾個步驟:
在這里有幾個步驟:
在這里有幾個步驟:1.
從Oracle資料庫進行HTTPS/SSL連接涉及幾個步驟。
您需要為您要訪問的 HTTPS 網站創建一個帶有網站證書的 Oracle 錢包。
您還需要設定 ACL,上面的鏈接提到了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/325024.html
標籤:
上一篇:用于獲取物化視圖中所有表格的查詢
