oracle发送https请求

news2024/11/27 22:35:25

参照

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.coloradmin.cn/o/1845047.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

环境配置01:Torch、CUDA适配与显卡驱动更新

说明: torch版本依赖于CUDA版本与Python版本 Start Locally | PyTorch CUDA版本依赖于显卡驱动版本 1. CUDA 12.5 Release Notes — Release Notes 12.5 documentation 显卡驱动版本依赖于显卡型号与电脑系统 当前电脑3060显卡,安装了CUDA V11.6与tor…

查询mysql库表的几个语句

1、查询某个数据库的所有表 SELECTtable_name FROMinformation_schema.TABLES WHEREtable_schema database_namedatabase_name替换成你需要查询的数据库名称 2、查询某张表的所有字段名称 SELECTCOLUMN_NAME,column_comment FROMinformation_schema.COLUMNS WHEREtable…

maxwell源码编译安装部署

目录 1、组件环境 2、maxwell安装前提 3、maxwell安装 3.1、maxwell下载 3.1.1、最新版本下载 ​编辑 3.1.2、历史版本下载 3.2、maxwell安装 3.3、maxwell配置 3.2.1、mysql开启binlog 3.3.2、maxwell元数据配置 3.3.3、maxwell配置任务 4、maxwell部署问题 4.1、utf…

异地如何共享视频文件?

人们对于信息流动的需求越来越高。尤其在分布式团队合作、远程办公的背景下,异地共享视频文件成为了一项重要的技术需求。本文将介绍一款名为【天联】的组网产品,它能够实现不同地区间快速组建局域网,解决不同设备间的信息远程通信问题。 2.…

c++设计模式之一创建型模式

1、创建型模式(常见的设计模式) Factory 模式(工厂模式,被实例化的子类) 在面向对象系统设计中经常可以遇到以下的两类问题: 下面是第一类问题和代码示例:我们经常会抽象出一些类的公共接口以…

vue3项目使用Electron打包成exe的方法与打包报错解决

将vue3项目打包成exe文件方法 一、安装 1.安装electron npm install electron --save-devnpm install electron-builder --save-dev 2.在vue项目根目录新建文件index.js // index.js// Modules to control application life and create native browser window const { app…

SBTI认证的申请流程是什么?

SBTI(科学基准目标倡议)认证的申请流程通常包括以下几个关键步骤,以下是根据参考文章整理出的清晰流程: 咨询和准备阶段: 企业首先需要咨询SBTI认证机构,了解认证的标准和要求,并确定是否有资格…

森林火灾扑救特类车辆有哪些_鼎跃安全

森林消防是在森林火灾发生时,为了保护森林资源,防止火势蔓延,采取了一系列的应用措施,针对自然环境中的火灾消防工作。森林灭火主要包括预警、预防措施、火情监测、火势控制和灭火等,森林火灾发生的地形往往复杂崎岖&a…

转炉五万立煤气柜柜位计消除虚假回波的方法

转炉五万立煤气柜柜位计消除虚假回波的方法 一、五万立转炉煤气柜柜位计问题 五万立转炉煤气柜工艺简介:五万立转炉煤气柜是将净化除尘后的一炼钢工序副产转炉煤气回收至气柜中储存,储存的转炉煤气在经过电除尘器净化除尘,经转炉煤气加压站加压后分别输送至一炼钢工序,吉瑞…

Hi3861 OpenHarmony嵌入式应用入门--PWM 三色灯

这篇文章是讲解的pwm控制三色灯的部分,这部分也是后续全彩智能灯的基础。 硬件原理如下 IO管脚定义在hi-12f_v1.1.2-规格书-20211202.pdf文档中 GPIO API API名称 说明 unsigned int IoTGpioInit(unsigned int id); GPIO模块初始化 hi_u32 hi_io_set_func(hi_i…

【Web APIs】DOM 文档对象模型 ④ ( querySelector 函数 | querySelectorAll 函数 | NodeList 对象 )

文章目录 一、querySelector 函数1、querySelector 函数简介2、完整代码示例 二、querySelectorAll 函数1、querySelectorAll 函数简介2、完整代码示例 三、NodeList 对象1、NodeList 对象简介2、完整代码示例 本博客相关参考文档 : WebAPIs 参考文档 : https://developer.moz…

Vue 自定义ElementUI的Loading效果

import { loadingText, messageDuration } from "/settings";import { Loading } from "element-ui"; // loadingText、messageDuration 这两个参数我是调的公共配置文件,按自己需求来 const install (Vue, opts {}) > {/* 全局多彩Loading加载层 *…

办公技能——如何写好会议纪要,提升职业素养

一、什么是会议纪要 会议纪要是一种记载、反映会议情况和议定事项的纪实性公文,是贯彻落实会议精神、指导工作、解决问题、交流经验的重要工具。 会议纪要可以多向行文:向上级机关汇报会议情况,以便得到上级机关对工作的指导;向同…

算法导论 总结索引 | 第四部分 第十五章:数据结构的扩张

1、动态规划(dynamic programming)与分治方法相似,都是通过组合子问题的解 来求解原问题 分治方法 将问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来。求出原问题的解 与之相反,动态规…

2024广东省职业技能大赛云计算赛项实战——编排部署ERP管理系统

编排部署ERP管理系统 前言 编写docker-compose.yaml文件,要求使用镜像mysql、redis、nginx和erp完成ERP管理系统的编排部署。 编写docker-compose.yaml完成ERP管理系统的部署,要求定义mysql、redis、nginx和erp共四个Service,分别使用镜像e…

Linux工具(包含sudo提权与vim快捷配置)

目录 什么是软件包 查看软件包 如何安装软件 1.官方yum源下载 2.扩展yum源下载 如何卸载软件 补充知识如何将普通用户加入白名单 补充知识rzsz vim编辑器 1.命令模式(进入默认为这个模式)用户所有的输入都会被当成命令 2.插入模式 3.底行模…

排序算法Java_实现

1.引言 查找和排序算法是算法的入门知识,其经典思想可以用于比较常见。 1.1 内部排序和外部排序的区别 内部排序:待排序记录存放在计算机随机存储器中(内存)进行排序的过程。 外部排序:待排序记录的数量很大,以至于内存不能一…

MyBatisplus使用报错--Invalid bound statement

报错如下 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.lotus.mybatis.mapper.UserMapper.selectListat org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235)at com.baomidou.mybatisplus.cor…

微软TTS最新模型,发布9种更真实的AI语音

很高兴与大家分享 Azure AI 语音翻译产品套件的两个重大更新&#xff1a; 视频翻译和增强的实时语音翻译 API。 视频翻译&#xff08;批量&#xff09; 今天&#xff0c;我们宣布推出视频翻译预览版&#xff0c;这是一项突破性的服务&#xff0c;旨在改变企业本地化视频内容…

onlyoffice报错:这份文件无法保存。请检查连接设置或联系您的管理员当你点击

文章目录 一、onlyoffice报错&#xff1a;这份文件无法保存。请检查连接设置或联系您的管理员当你点击二、解决方法总结 一、onlyoffice报错&#xff1a;这份文件无法保存。请检查连接设置或联系您的管理员当你点击 二、解决方法 禁用防火墙 sudo ufw disable总结 作者&…