如何在PL / SQL中发出休息请求?

时间:2018-10-12 09:58:34

标签: oracle plsql

我有以下要在PL / SQL中进行的cURL请求:

curl -i 
-H « Authorization: AUTH xxxx:1539335594582:1:HMAC » 
-X GET http://example.com/api/accounts

我尝试了以下代码。它无法正常工作(我收到服务器错误:您的浏览器发送了我们无法理解的请求。),并且不确定在PL / SQL中是否正确执行了此操作:

URL varchar2(250);
Header varchar2(32000);
Response varchar2(32000);        

URL := 'http://example.com/api/accounts';
Header := 'Authorization: AUTH xxxx:1539335594582:1:HMAC';
Response := apex_web_service.make_rest_request(p_url => URL || '?' || Header, p_http_method => 'GET');  

请问有什么可以帮助的吗?

谢谢 干杯,

1 个答案:

答案 0 :(得分:1)

HTTP标头不能像这样串联到URL中。您需要先设置标头,然后再调用make_rest_request,例如

declare
  URL varchar2(250);
  Response varchar2(32000);        
begin
  URL := 'http://example.com/api/accounts';
  apex_web_service.g_request_headers.delete();
  apex_web_service.g_request_headers(1).name := 'Authorization';
  apex_web_service.g_request_headers(1).value := 'AUTH xxxx:1539335594582:1:HMAC';
  Response := apex_web_service.make_rest_request(p_url => URL, p_http_method => 'GET');  
end;