DECLARE req utl_http.req; resp utl_http.resp; l_clob CLOB; l_buf_raw RAW(10000); amount NUMBER := 9000; VALUE VARCHAR2(1000); l_process VARCHAR2(20); l_req_blob BLOB; l_buf_len_std NUMBER := 900; l_buf_len_cur NUMBER; l_bod_len NUMBER; BEGIN req := utl_http.begin_request('http://159.77.226.31/logincheck.asp', 'POST'); utl_http.set_header(req, 'Content-Type','application/x-www-form-urlencoded'); --该参数代表请求包含POST数据 utl_http.set_header(req, 'Keep-Alive', ' timeout=1');--该参数代表超时 dbms_lob.createtemporary(lob_loc => l_clob, cache => TRUE); l_clob := 'muser=32323&&passwd=232323&&x=33&&y=17';--POST参数的内容,格式为:变量=值&变量=值 dbms_lob.createtemporary(lob_loc => l_req_blob, cache => TRUE); heb_lob_pub.clob2blob(p_clob => l_clob, x_blob => l_req_blob, p_cset_f => 'utf8', p_cset_t => 'utf8'); utl_http.set_header(req, 'Content-Length', dbms_lob.getlength(l_req_blob));--该参数代表我发送的POST报文多长,不可少 utl_http.write_raw(req, l_req_blob); resp := utl_http.get_response(req); LOOP utl_http.read_line(resp, VALUE, TRUE); dbms_output.put_line(VALUE); END LOOP; utl_http.end_response(resp); utl_http.end_request(req); EXCEPTION WHEN utl_http.end_of_body THEN utl_http.end_response(resp); WHEN OTHERS THEN utl_http.end_response(resp); utl_http.end_request(req); END;
相关推荐
UTL_HTTP是Oracle提供的一种内置包,它提供了HTTP协议的客户端功能,可以用来发送GET、POST等请求到Web服务器。这对于需要从数据库内部集成外部服务的应用程序来说是极其有用的。在Oracle PL/SQL中调用Web Service...
示例存储过程.txt文件可能包含了实际的PL/SQL代码示例,例如如何使用UTL_HTTP包发送POST请求。以下是一个基本的示例: ```sql DECLARE l_http_request UTL_HTTP.REQ; l_http_response UTL_HTTP.RES; l_url ...
- **UTL_HTTP包**:Oracle提供的一个工具包,用于处理HTTP请求和响应,支持GET和POST方法。 - **DBMS_LOB**:Oracle中的一个包,提供了对大型对象(LOBs)的支持,包括CLOB、BLOB、NCLOB和BFILE。 #### 实现步骤 ...
3. JDK:Java 开发工具包,因为 Oracle Web Services 大多基于 Java 平台。 4. Internet 连接:用于访问外部 Web Service 提供商。 **简述** Oracle WebService 实例主要涉及以下几个步骤: 1. **发现 Web Service...
- Oracle提供了一个包叫做UTL_HTTP,用于在PL/SQL中执行HTTP请求,这为调用Web Service提供了基础。 - UTL_SMTP包也可以辅助发送邮件,但在此场景中不直接用于Web Service调用。 3. **调用步骤** - **解析WSDL**...
- `UTL_HTTP.WRITE_TEXT` 用于发送请求体,如 JSON 对象。 - `UTL_HTTP.GET_RESPONSE` 获取服务器的响应,然后可以读取响应头和响应体。 4. **处理响应**:响应体通常需要解析,例如,如果是 JSON 格式,可以使用...
这个触发器调用名为get_lync的过程,该过程使用Oracle的UTL_HTTP工具包,向Lync的消息API发送POST请求。请求中包含了任务执行人的信息、任务名称、关键描述、任务处理页面URL以及任务ID等重要参数。 get_lync过程的...
2. **使用内置函数或自定义函数**:数据库可能提供内置函数(如SQL Server的`WebExecute`或Oracle的`UTL_HTTP`包)来发起HTTP请求。如果没有,可能需要编写自定义函数,利用PL/SQL或T-SQL等编程语言实现。 3. **...
该项目利用 Oracle 数据库的内置 PL/SQL 库,特别是 UTL_HTTP 包,来发送 HTTP 请求,更新 Twitter 用户的状态。这为那些需要在 Oracle 数据库环境中进行社交媒体集成的应用提供了极大的便利。 1. **UTL_HTTP 库** ...
Oracle Forms Developer是一款强大的工具,用于构建交互式的数据库应用程序。它包含Forms Builder,允许开发者创建复杂的表单,并处理各种运行时问题。以下是一些关键的知识点和解决方案: 1. **键盘触发子**: ...