oracle发送https请求

参照

https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/u_http.htm#i1025869

https://docs.oracle.com/cd/E11882_01/network.112/e40393/asowalet.htm#ASOAG160

https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_networkacl_adm.htm#ARPLS148

https://docs.oracle.com/cd/E11882_01/network.112/e36292/authorization.htm#DBSEG99980

版本:oracle 11.2.0.4.0

注意:服务器要发送外网http/https请求,配置其ip地址时,一定要配置dns。

配置wallet

要访问https接口,需要启用wallet。

下载证书

https://www.example.org

浏览器输入如上地址,下载证书。

上传至服务器

创建wallet

登录oracle数据库服务器,使用Oracle Wallet Manager新建wallet。

注意:linux系统Oracle Wallet Manager启动命令为owm,完整路径为:

$ORACLE_HOME/bin即/u01/app/oracle/product/11.2.0/dbhome_1/bin。owm需要启动图形界面,所以要使用图形类远程工具,本文中使用XQuartz

ssh -Y oracle@192.168.12.55

输入命令owm,启动Oracle Wallet Manager

会弹出一个提示框提示:默认wallet目录不存在,是否创建

创建即可。然后弹出新建wallet对话框,创建密码。walletpassword123

输入密码后,点击【OK】,提示是否现在就希望创建一个证书请求。选择【No】

点击保存按钮,保存wallet文件至默认位置即可

默认路径为:/u01/app/oracle/product/11.2.0/dbhome_1/owm/wallets/oracle

将之前下载的证书上传至服务器,然后导入信任证书。

导入信任证书

使用mac终端(终端会调用XQuartz,生成图形界面)连接oracle linux服务器,二者LANG都是zh_CN.UTF-8。owm图形界面显示乱码。关闭owm图形界面,直接在终端中输入命令设置LANG,export LANG=en_US.UTF-8,再次输入owm显示图形界面则正常。

保存后,将新生成的文件ewallet.p12

 由/u01/app/oracle/product/11.2.0/dbhome_1/owm/wallets/oracle中复制到

/u01/app/oracle/wallet,覆盖原先的 ewallet.p12,用于发送https请求时,设置上下文。

发送请求

oracle发送https请求与发送http请求没有本质的不同,只是需要在发送前在请求上下文中加入wallet信息。

简单示例

存储过程

set serveroutput on

declare

  request_context UTL_HTTP.REQUEST_CONTEXT_KEY;

  req             UTL_HTTP.REQ;

  resp            UTL_HTTP.RESP;

  data            VARCHAR2(10240);

BEGIN

  request_context := UTL_HTTP.CREATE_REQUEST_CONTEXT(

                       wallet_path          => 'file:/u01/app/oracle/wallet',

                       wallet_password      => 'walletpassword123'

                       --enable_cookies       => TRUE,

                       --max_cookies          => 300,

                       --max_cookies_per_site => 20

                       );

  req := UTL_HTTP.BEGIN_REQUEST(url => 'https://www.example.org',method => 'GET',request_context => request_context);

  resp := UTL_HTTP.GET_RESPONSE(req);

  BEGIN

    LOOP

       UTL_HTTP.READ_LINE(resp, data);

       DBMS_OUTPUT.PUT_LINE(data);

       -- DBMS_OUTPUT.PUT_LINE(instr(data,'access_token'));

    END LOOP;

  EXCEPTION

      WHEN UTL_HTTP.END_OF_BODY THEN

         UTL_HTTP.END_RESPONSE(resp);

  END;

  -- Destroy the request context

  UTL_HTTP.DESTROY_REQUEST_CONTEXT(request_context);

END;

效果截图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/361390.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录待办事项的便签软件哪个好用?

在快节奏的现代生活中,我们经常需要处理各种各样的待办事项,为了更好地管理时间,许多人选择使用便签软件来记录自己的待办事项。那么,记录待办事项的便签软件哪个好用?市面上众多的便签软件中,哪一个才是最…

转:关于征集第三批工业软件新场景新技术难题解决思路的公告

工业软件是先进工业知识与经验的凝炼,工业软件自身的先进性既来自对先进工业先进需求的汲取提炼,也来自对根技术新突破、新成果的高效采用。为增强根技术新成果提供方与工业软件厂家或最终用户方的连接,促进国产工业软件差异化竞争力的打造&a…

ARM64汇编0C - inlinehook

本文是ARM64汇编系列的完结篇,主要利用前面学过的知识做一个小实验 完整系列博客地址:https://www.lyldalek.top/article/arm 这里只讨论 ARM64 下的 inlinehook,做一个简单的demo,只是抛砖引玉,有兴趣了解更多细节的可…

前端 CSS 经典:backface-visibility 属性

前言&#xff1a;backface-visibility 属性可以使反转 180deg 的元素隐藏&#xff0c;使用这个属性实现卡片翻转效果 效果 代码实现 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" /><meta http-equiv"X-…

uniapp H5端使用百度地图

1、登录百度地图开放平台 https://lbsyun.baidu.com/&#xff08;没有账号则先去创建一个百度账号&#xff09; 2、进入百度地图开放平台控制台&#xff08;导航栏“控制台”&#xff09;&#xff0c;点击“应用管理”-“我的应用” 3、选择“创建应用”&#xff0c;应用模块选…

环球赛乐科技有限公司与北京城市学院共建实习“绿色通道”

环球赛乐&#xff08;北京&#xff09;科技有限公司&#xff08;简称“赛氪网”&#xff09;与北京城市学院近日宣布&#xff0c;双方将合作开通顶岗实习“绿色通道”&#xff0c;旨在为实习生提供高质量的实践机会和就业平台。此次合作不仅体现了校企合作的深度融合&#xff0…

1.Android逆向协议-环境搭建

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易锦网校 不是安卓逆向吗&#xff1f;为什么写java代码&#xff1f;因为逆向的时候涉及java语言 JDK环境搭建&#xff1a;JDK是JAVA语…

深度相机辅助导航避障(三):地面点云滤除

前面的章节介绍了坐标变换,以及如何设置深度相机的坐标变换。那就可以很直观从机器人的坐标系对深度相机扫描到的障碍物点云进行处理。 在实际应用中,机器人正确估计周围地形,对于道路的可通过性、路径规划和障碍物检测等方面都很重要。那么在获取深度相机点云数据后就得准…

论文学习_基于导向式模糊测试的二进制程序漏洞验证方法

1. 引言 研究背景及现存问题:基于代码相似性比较的漏洞检测方法属于静态分析方法,不可避免地存在误报率高的问题,对静态检测方法得到的疑似漏洞代码进行人工分析存在工作量大, 效率低的问题。解决该问题的有效的方案之一是使用导向式模糊测试方法,生成能够执行到疑似漏洞…

cesium for unity 打包webgl失败,提示不支持

platform webgl is not supported with HDRP use the Vulkan graphics AR instead.

Nginx调度器

Nginx反向代理 反向代理架构 部署后端Web1服务器 部署后端Web2服务器 配置Nginx服务器&#xff0c;添加服务器池&#xff0c;实现反向代理功能 proxy主机安装nginx 修改/usr/local/nginx/conf/nginx.conf配置文件 重新加载配置 客户端使用火狐浏览器或curl多次访问p…

JAVA二手车交易二手车市场系统源码支持微信小程序+微信公众号+H5+APP

&#x1f697;二手车交易系统小程序&#xff1a;让买卖更轻松&#x1f50d; 功能介绍 我的粉丝、我的关注、获赞、访客 我的动态、认证中心、我的团队、开通会员 免费估值、买二手车、我要卖车、车型选择 每日上新、底价专区、精准筛选、附近展厅商 车辆的详细信息、拨打电…

动态规划——123. 买卖股票的最佳时机 III

目录 1、题目链接 2、题目分析 1.状态表示 2.状态转移方程 3.初始化 4.填表 5.返回值 3、代码解析 1、题目链接 123. 买卖股票的最佳时机 III 2、题目分析 1.状态表示 由题目可知&#xff0c;我们分为两种状态&#xff0c;买入和卖出&#xff0c;又因为只能完成两次交易…

质点动力学

牛顿运动定律 动量守恒 动量定理 动量守恒定律 角动量守恒定律 动量与角动量的对比 例题 机械能守恒定律

cs与msf权限传递,以及mimikatz抓取win2012明文密码

mimikatz抓取win2012明文密码 一、启动cs服务端 二、启动cs客户端 三、创建监听器 四、生成脚本文件 五、选择存放路径 六、开启服务&#xff0c;让win2012能够通过网站下载 七、获得win2012控制权 八、抓取明文密码 mimikatz是可以抓明文的&#xff0c;mimikatz抓明文原理&a…

1966 ssm 流浪猫领养网站系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm 流浪猫领养网站系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/…

动手学自然语言处理:解读大模型背后的核心技术

自从 ChatGPT 横空出世以来&#xff0c;自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09; 研究领域就出现了一种消极的声音&#xff0c;认为大模型技术导致 NLP “死了”。在某乎上就有一条热门问答&#xff0c;大家热烈地讨论了这个问题。 有…

【ajax实战03】拦截器

一&#xff1a;axios拦截器 拦截器分类&#xff1a; 请求拦截器以及响应拦截器 拦截器作用&#xff1a; 在请求或响应被then或catch处理前拦截它们 二&#xff1a;请求拦截器 作用&#xff1a; 发起请求之前&#xff0c;调用一个配置函数&#xff0c;对请求参数进行设置…

Python 爬虫从入门到入狱之路一

实际上爬虫一共就四个主要步骤&#xff1a; 明确目标 (要知道你准备在哪个范围或者网站去搜索)爬 (将所有的网站的内容全部爬下来)取 (去掉对我们没用处的数据)处理数据&#xff08;按照我们想要的方式存储和使用&#xff09; 我们在之前写的爬虫程序中&#xff0c;都只是获取…

【STM32-启动文件 startup_stm32f103xe.s】

STM32-启动文件 startup_stm32f103xe.s ■ STM32-启动文件■ STM32-启动文件主要做了以下工作&#xff1a;■ STM32-启动文件指令■ STM32-启动文件代码详解■ 栈空间的开辟■ 栈空间大小 Stack_Size■ .map 文件的详细介绍■ 打开map文件 ■ 堆空间■ PRESERVE8 和 THUMB 指令…