Oracle HTTP请求接收!

 

create or replace procedure p_sendsms(p_comCode      in varchar2,
                                      p_businessType in varchar2,
                                      p_phoneNo      in varchar2,
                                      p_content      in varchar2,
                                      p_spNumber     in varchar2,
                                      p_operatorCode in varchar2,
                                      p_mtSubID      in varchar2,
                                      err_code       out integer,
                                      ora_code       out integer) is
  s_request varchar2(4000); --请求报文
  s_respond varchar2(4000); --响应报文
  http_req  utl_http.req; --请求包头
  http_resp utl_http.resp; --响应包头
  s_sysdate varchar2(30); --发送时间

BEGIN
  --取当前时间+1分钟
  select to_char(sysdate, 'YYYY-MM-DD')||' '||to_char(sysdate + 1 / 1440, 'hh24:mi:ss')
    INTO s_sysdate
    FROM DUAL;
  --s_sysdate :=replace(s_sysdate,' ',' ');
  ---初始化REQUEST  ]

  http_req := utl_http.begin_request('http://10.10.134.171:7001/smserver/submitMessage?phoneNo=' ||
                                     p_phoneNo || '&content=' || p_content ||
                                     '&comCode=' || p_comCode ||
                                     '&businessType=' || p_businessType ||
                                     '&spNumber=' || p_spNumber ||
                                     '&operatorCode=' || p_operatorCode ||
                                     '&mtSubID=' || p_mtSubID ||
                                     '&sendtime=' || s_sysdate,
                                     'POST',
                                     utl_http.HTTP_VERSION_1_1 /* 'HTTP/1.1'*/);

  -- utl_http.set_body_charset('UTF-8');--设置包体编码集
  utl_http.set_header(http_req, 'Accept: */*');
  utl_http.set_header(http_req,
                      'Content-Type',
                      'application/x-www-form-urlencoded;charset=utf-8');
  utl_http.set_header(http_req,
                      'User-Agent',
                      'Nimo Software HTTP Retriever 1.0');
  utl_http.set_header(http_req, 'Content-Length', length(s_request));
  utl_http.set_header(http_req, 'Cache-Control', 'no-cache');
  --utl_http.write_text(http_req, s_request);--如果有包体可以写入

  http_resp := utl_http.get_response(http_req); --提交请求
 
  if http_resp.status_code = utl_http.HTTP_OK then
    --成功才读取响应消息
    utl_http.read_text(http_resp, s_respond);
    utl_http.end_response(http_resp); --结束请求
    s_respond := substr(s_respond, 1, 4000); ---long 转成 varchar2
    dbms_output.put_line(s_respond); --打印响应消息
    dbms_output.put_line(http_resp.reason_phrase); --打印响应消息
  else
    err_code := http_resp.status_code;
    ora_code := sqlcode;
    dbms_output.put_line(http_resp.reason_phrase); --打印响应消息
  end if;
exception
  WHEN OTHERS THEN
    ora_code := sqlcode;
END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值