企业打款验证API在Java、Python、PHP中的使用教程

随着企业银行账号数量的增加和银行间的连接方式不断丰富,企业在进行资金交易时需要确保所填写的收款方账户信息的准确性和合法性,以避免资金损失和风险。然而,由于银行数量众多、地域分布广泛,不同银行间的账户验证机制和信息交互方式各不相同,给企业的资金管理带来了一定的挑战。

为了解决这一问题,企业打款验证应运而生。该验证机制支持多达741家银行,通过企业提供的收款方账户、收款方公司名称以及收款方联行号等关键信息,平台能够向指定账户打一笔随机金额的资金。收款方在收到资金后,通过财务查询并核对收到的金额,然后在平台输入该金额进行一致性验证。这样一来,企业便能够验证银行账户的真实性和归属性,确保资金的安全和正确到达目标账户,有效降低了资金交易中的风险和错误率,提升了资金管理的效率和可靠性。

什么是企业打款验证 API

企业打款验证API是一种用于验证企业银行打款信息的接口。它通常用于企业在业务流程中需要确认或验证其他合作伙伴的银行账户信息是否准确、有效以及是否有权进行打款。

企业打款验证 API适用于哪些人

企业打款验证API适用于以下类型的人或实体:

  1. 企业:企业可以利用企业打款验证 API 来验证其与供应商、合作伙伴或客户之间的银行账户信息的准确性和一致性。这对于确保资金安全和准确到账非常重要。
  2. 金融科技公司:金融科技公司可以提供企业打款验证 API 作为其金融服务的一部分,帮助企业客户确保他们的资金交易安全可靠。
  3. 财务服务提供商:财务服务提供商可以使用企业打款验证 API 作为其企业客户账户验证和风险管理的一部分,以提供更全面的服务。
  4. 支付平台和支付处理商:支付平台和支付处理商可以利用企业打款验证 API 来确保其平台上的收款方账户信息的准确性,以降低支付过程中的风险。
  5. 开发者和软件公司:开发者和软件公司可以集成企业打款验证 API 到他们的软件产品或应用程序中,以为企业客户提供更完整的支付解决方案。

总的来说,企业打款验证 API 对于任何需要验证银行账户信息的个人、企业或实体都是有用的,特别是在涉及资金交易和支付的场景中。

企业打款验证 API是如何工作的

企业打款验证API的工作原理通常包括以下步骤:

  1. 提供账户信息:企业提供收款方账户的具体信息,包括账户号码、收款方公司名称、收款方联行号等关键信息。
  2. 发起打款请求:验证平台接收到企业提供的账户信息后,发起一笔随机金额的打款请求到指定的收款方账户。
  3. 接收验证请求:收款方接收到打款后,系统通知或者提醒收款方需要进行验证。
  4. 核对金额:收款方财务查询并核对收到的随机金额,确保金额与实际收到的资金一致。
  5. 输入验证:收款方在验证平台上输入收到的随机金额,以完成验证流程。
  6. 验证结果返回:验证平台接收到验证结果后,将结果返回给企业或者验证发起者,通知验证是否成功。

企业打款验证 API 的关键在于通过打款和验证金额的方式,验证收款方账户的真实性和一致性。这种方式可以有效地降低错误和欺诈行为,确保资金安全到账。同时,该流程也提高了交易的透明度和可追溯性,为企业和交易双方提供了更高的信任度。

如何使用企业打款验证 API?

1. 注册: 开发者可以在幂简集成平台上注册账户,选择适合自己的工作空间,并在空间中创建自己的应用。

2. API 发现: 通过API Hub找到所需的API服务,通过一键集成将API集成到所创建的应用中。

3. API 集成: 开发者按照文档中的指引,将 API 集成到自己的应用程序中。

4. API 管理: 在幂简集成平台上,可以管理 API 密钥、查看使用情况和监控身份验证请求。

企业打款验证API在不同开发语言中的调用(Java/python/php 示例)

在Java中,下面这段代码展示了如何使用 Java 发送 HTTP POST 请求到企业打款验证服务,以及如何处理服务的响应。需要注意的是,其中的 `HttpUtils` 类和依赖项需要从提供的链接下载并引入。此外,`{{AppCode}}` 部分需要替换为实际的应用程序代码。

打款接口

import com.mittang.util.HttpUtils;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import java.util.HashMap;
import java.util.Map;public class Example {public static void main(String[] args) throws Exception{String host = "https://open.explinks.com";String path = "/v1/tools/verify/company/pay-verify";String method = "POST";// "{{AppCode}}" 替换成您的 AppCodeString appcode = "{{AppCode}}";Map headers = new HashMap<>();headers.put("X-Mce-Signature", "AppCode/" + appcode);headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");Map querys = new HashMap<>();Map bodys = new HashMap<>();// 填充参数bodys.put("reqNo", "123123");bodys.put("bankCard", "bankCard");bodys.put("companyName", "companyName");bodys.put("bankName", "bankName");bodys.put("bankUnionCode", "bankUnionCode");try {/*** 重要提示如下:* HttpUtils请从* https://static.miitang.com/saas/simple/HttpUtils.java 下载** 相应的依赖请参照* https://static.miitang.com/saas/simple/pom.xml*/HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);// 获取 response 的 bodyString resStr = EntityUtils.toString(response.getEntity());System.out.println(resStr);int statusCode = response.getStatusLine().getStatusCode();if(statusCode == 200){// 请求成功,可根据业务码(请求体中的code)进行逻辑处理} else if(statusCode == 610){// 用户输入的参数问题,可直接提示用户} else if(statusCode == 611){// 系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。  LOG it and 提示用户} else if(statusCode == 612){// 用户操作频度问题,可提示用户。  LOG it and 按业务特点做处理} else if(statusCode >= 500 && statusCode < 600){// 在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服} else {// 如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。}} catch (Exception e) {e.printStackTrace();}}
}

验证接口

import com.mittang.util.HttpUtils;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import java.util.HashMap;
import java.util.Map;public class Example {public static void main(String[] args) throws Exception{String host = "https://open.explinks.com";String path = "/v1/tools/verify/company/pay-verify-check";String method = "POST";// "{{AppCode}}" 替换成您的 AppCodeString appcode = "{{AppCode}}";Map headers = new HashMap<>();headers.put("X-Mce-Signature", "AppCode/" + appcode);headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");Map querys = new HashMap<>();Map bodys = new HashMap<>();// 填充参数bodys.put("reqNo", "123123");bodys.put("bankCard", "bankCard");bodys.put("amount", "0.1");try {/*** 重要提示如下:* HttpUtils请从* https://static.miitang.com/saas/simple/HttpUtils.java 下载** 相应的依赖请参照* https://static.miitang.com/saas/simple/pom.xml*/HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);// 获取 response 的 bodyString resStr = EntityUtils.toString(response.getEntity());System.out.println(resStr);int statusCode = response.getStatusLine().getStatusCode();if(statusCode == 200){// 请求成功,可根据业务码(请求体中的code)进行逻辑处理} else if(statusCode == 610){// 用户输入的参数问题,可直接提示用户} else if(statusCode == 611){// 系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。  LOG it and 提示用户} else if(statusCode == 612){// 用户操作频度问题,可提示用户。  LOG it and 按业务特点做处理} else if(statusCode >= 500 && statusCode < 600){// 在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服} else {// 如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。}} catch (Exception e) {e.printStackTrace();}}
}

在Python中,使用 `requests` 库发送 POST 请求到企业打款验证服务接口,根据响应状态码进行业务逻辑处理,包括成功、参数问题、数据问题、操作频度问题和系统稳定性问题等的处理。

打款接口

import json
import requestsif __name__ == '__main__':url = "https://open.explinks.com/v1/tools/verify/company/pay-verify"payload = json.dumps({"reqNo": "132123","bankCard": "bankCard","companyName": "companyName","bankName": "bankName","bankUnionCode": "bankUnionCode"})headers = {"Content-Type": "application/json",# "{{AppCode}}" 替换为您的 AppCode"X-Mce-Signature": "AppCode/{{AppCode}}"}response = requests.request("POST", url, headers=headers, data=payload)status_code = response.status_codeprint("headers:", response.headers)print("http 状态码:", str(status_code))print(response.text)if status_code == 200:"请求成功,可根据业务码(请求体中的code)进行逻辑处理"elif status_code == 610 :"用户输入的参数问题,可直接提示用户"elif status_code == 611 :"系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。  LOG it and 提示用户"elif status_code == 612 :"用户操作频度问题,可提示用户。  LOG it and 按业务特点做处理"elif status_code >= 500 & status_code < 600 :"在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服"else:"如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。"

验证接口

import json
import requestsif __name__ == '__main__':url = "https://open.explinks.com/v1/tools/verify/company/pay-verify-check"payload = json.dumps({"reqNo": "132123","bankCard": "bankCard","amount": "0.1"})headers = {"Content-Type": "application/json",# "{{AppCode}}" 替换为您的 AppCode"X-Mce-Signature": "AppCode/{{AppCode}}"}response = requests.request("POST", url, headers=headers, data=payload)status_code = response.status_codeprint("headers:", response.headers)print("http 状态码:", str(status_code))print(response.text)if status_code == 200:"请求成功,可根据业务码(请求体中的code)进行逻辑处理"elif status_code == 610 :"用户输入的参数问题,可直接提示用户"elif status_code == 611 :"系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。  LOG it and 提示用户"elif status_code == 612 :"用户操作频度问题,可提示用户。  LOG it and 按业务特点做处理"elif status_code >= 500 & status_code < 600 :"在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服"else:"如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。"

在PHP中,使用 cURL 发送 POST 请求到企业打款验证服务接口,处理并输出相应的业务逻辑。它包括设置请求头、发送请求、处理响应,根据响应状态码进行不同的业务逻辑处理,如成功、参数问题、数据问题、操作频度问题、系统稳定性问题等。

打款接口

<?php$host = "https://open.explinks.com";$path = "/v1/tools/verify/company/pay-verify";$method = "POST";$appcode = "{{您的AppCode}}";$headers = array();array_push($headers, "x-mce-signature:AppCode/" . $appcode);//根据API的要求,定义相对应的Content-Typearray_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");$querys = "";$bodys = "reqNo=123123&bankCard=bankCard&companyName=companyName&bankName=bankName&bankUnionCode=bankUnionCode";$url = $host . $path;$curl = curl_init();curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);curl_setopt($curl, CURLOPT_FAILONERROR, false);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_HEADER, true);if (1 == strpos("$".$host, "https://")){curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);}curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);$result = curl_exec($curl);$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); // 获得响应头大小$httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);$body = substr($result,$header_size);curl_close($curl);$retMap = json_decode($body, true);$code = $retMap["code"];echo $httpCode.PHP_EOL; // DEBUGif($httpCode == 200){// 请求成功,可根据业务码(请求体中的code)进行逻辑处理echo $retMap["code"].PHP_EOL;echo $retMap["message"].PHP_EOL;echo $retMap["hasFees"].PHP_EOL;echo $retMap["fees"].PHP_EOL;if($code == "FP00000"){// SUCCESSecho "SUCCESS";}else{// FAILUREecho "FAILURE";}} else {echo $code.PHP_EOL; // DEBUGif($httpCode == 610){// 用户输入的参数问题,可直接提示用户$errors = $retMap["errors"];$errorMap = null;foreach($errors as $key=>$value){foreach($value as $key2=>$value2){$errorMap[$key] = $value2;break;}}// 转化为 key:tipecho($errorMap["idCardNo"].PHP_EOL);echo($errorMap["name"].PHP_EOL);} else if($httpCode == 611){// 系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。  LOG it and 提示用户echo "修订数据状态,不要重复操作。".PHP_EOL;} else if($httpCode == 612){            // 用户操作频度问题,可提示用户。  LOG it and 按业务特点做处理echo $retMap["message"].PHP_EOL;} else if($httpCode >= 500 && $httpCode < 600){// 在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服// TODO: retryecho "RETRY".PHP_EOL;} else {// 如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。var_dump($retMap);}}
?>

验证

<?php$host = "https://open.explinks.com";$path = "/v1/tools/verify/company/pay-verify-check";$method = "POST";$appcode = "{{您的AppCode}}";$headers = array();array_push($headers, "x-mce-signature:AppCode/" . $appcode);//根据API的要求,定义相对应的Content-Typearray_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");$querys = "";$bodys = "reqNo=123123&bankCard=bankCard&amount=0.01";$url = $host . $path;$curl = curl_init();curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);curl_setopt($curl, CURLOPT_FAILONERROR, false);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_HEADER, true);if (1 == strpos("$".$host, "https://")){curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);}curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);$result = curl_exec($curl);$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); // 获得响应头大小$httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);$body = substr($result,$header_size);curl_close($curl);$retMap = json_decode($body, true);$code = $retMap["code"];echo $httpCode.PHP_EOL; // DEBUGif($httpCode == 200){// 请求成功,可根据业务码(请求体中的code)进行逻辑处理echo $retMap["code"].PHP_EOL;echo $retMap["message"].PHP_EOL;echo $retMap["hasFees"].PHP_EOL;echo $retMap["fees"].PHP_EOL;if($code == "FP00000"){// SUCCESSecho "SUCCESS";}else{// FAILUREecho "FAILURE";}} else {echo $code.PHP_EOL; // DEBUGif($httpCode == 610){// 用户输入的参数问题,可直接提示用户$errors = $retMap["errors"];$errorMap = null;foreach($errors as $key=>$value){foreach($value as $key2=>$value2){$errorMap[$key] = $value2;break;}}// 转化为 key:tipecho($errorMap["idCardNo"].PHP_EOL);echo($errorMap["name"].PHP_EOL);} else if($httpCode == 611){// 系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。  LOG it and 提示用户echo "修订数据状态,不要重复操作。".PHP_EOL;} else if($httpCode == 612){            // 用户操作频度问题,可提示用户。  LOG it and 按业务特点做处理echo $retMap["message"].PHP_EOL;} else if($httpCode >= 500 && $httpCode < 600){// 在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服// TODO: retryecho "RETRY".PHP_EOL;} else {// 如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。var_dump($retMap);}}
?>

总结

企业打款验证API是现代金融科技中的重要工具,类似于人脸对比技术在身份验证中的作用。它通过验证账户信息和随机金额的打款,提供了一种高效、准确、安全的账户验证手段,有助于降低支付过程中的风险和错误率,推动了企业金融管理和支付系统的技术创新和应用发展。

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

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

相关文章

vue前端实现页面禁止缩放 前端适配问题处理 前端项目多端适配解决方案

在前端项目中,如果一个系统页面可以缩放可能会导致多种异常情况,这些异常情况涉及到页面布局、元素尺寸、事件触发、响应式设计和用户体验等方面。 1.布局错乱:页面元素在缩放后可能会出现错位、重叠或部分隐藏的情况,导致页面布局混乱,影响用户对页面内容的理解和操作。这…

【云原生】kubernetes中secret原理详解与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

读AI未来进行式笔记02深度伪造

1. 计算机视觉 1.1. 在人的六感之中&#xff0c;视觉是最重要的 1.1.1. 人类只要看上一眼视频&#xff0c;就能瞬间在脑海中抓取并消化内容和信息 1.1.2. 人类能够对事物进行广义的理解和抽象的认知&#xff0c;即使同一物体在不同的角度…

声量2024 | 内容创作者,该怎样保护你的知识产权

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 阿那亚 联合制作 / 声量The Power of Voice 特别鸣谢 / 深夜谈谈播客网络 本期节目录制于第二届「声量The Power of Voic…

vue3封装echarts组件---通俗易懂

1、封装的原因 如果在vue项目中有多个组件或者同个组件多出地方需要不同的图表&#xff0c;因此自己封装一个方便多次复用的Mycharts图表组件。 2、具体步骤&#xff1a; 2.1 安装echarts pnpm i echarts --save 2.2 新建MyCharts组件 : ~components/echarts/MyCharts.vu…

基于javacv ffmpeg 使用原生ffmpeg命令

基于javacv ffmpeg 使用原生ffmpeg命令 1. ffmpeg2. ffprobe 相关阅读&#xff1a; javacv ffmpeg使用笔记 测试过程中&#xff0c;发现ffmpeg-6.0-1.5.9-linux-x86_64.jar 存在问题&#xff08;ffmpeg原生命令执行失败&#xff09;&#xff0c;降级到ffmpeg-5.1.2-1.5.8-linux…

RPG Maker MV 踩坑十一 精灵及背景绘制问题

精灵绘制问题 RPG Maker MV战斗问题入场飞身战斗背景绘制精灵集及精灵 RPG Maker MV战斗问题 在RMMV中战斗是在场景中调用战斗管理器&#xff0c;通过管理器去操作角色对象行动及精灵的绘制的。 入场飞身 在其中就发现一个问题加载图片进场时&#xff0c;会偏高&#xff0c;…

Python编程学习第一篇——Python零基础快速入门(五)—元组(Tuple)操作

Python元组是一种不可变的有序集合&#xff0c;可以存储多个不同类型的数据。元组使用小括号来表示&#xff0c;其中的元素用逗号分隔开。与列表不同&#xff0c;元组的元素不能被修改、删除或添加。它的一些常规操作包括元组的创建、访问、添加、修改、删除、运算等等&#xf…

电力电子功率模块在工程应用中测温NTC的使用

电力电子功率模块在工程应用中测温NTC的使用 1.概述2.什么是NTC3.模块内部NTC3.1 绝缘隔离措施3.2 NTC热量考虑 4.使用模拟方法测量NTC温度4.1 分压电阻大小 5.使用数字方法测量NTC温度 1.概述 最近做项目的时候突然被问到一个问题。做实验测温用的NTC到底怎么用&#xff1f;为…

JAVA设计模式-策略模式及在Springboot2.X中写法

JAVA设计模式-策略模式及在Springboot2.X中写法 一、经典的策略模式写法二、Springboot2.X中策略模式写法 策略模式的定义&#xff1a;策略模式是一种行为型设计模式,定义了一系列算法,并将每个算法封装起来,使它们可以互相替换 策略模式&#xff1a;在策略模式&#xff08;Str…

算法 java 排序和查找

排序和查找 冒泡排序&#xff08;稳定&#xff09;选择排序&#xff08;不稳定&#xff09;插入排序&#xff08;稳定&#xff09;希尔排序&#xff08;不稳定&#xff09;归并排序&#xff08;稳定&#xff09;快速排序&#xff08;不稳定&#xff09;堆排序计数排序桶排序基数…

YOLOv8+PyQt5海洋船只检测(可以重新训练,yolov8模型,从图像、视频和摄像头三种路径识别检测)

1.效果视频&#xff1a;海洋船只检测yoloV8检测&#xff08;https://mbd.pub/o/bread/mbd-ZpaYk55r&#xff09;_哔哩哔哩_bilibili资源包含可视化的海洋船只检测系统&#xff0c;可对于高空拍摄到的海洋图片进行轮船检测&#xff0c;基于最新的YOLOv8训练的海洋船只检测模型&a…

C++设计模式-策略模式,AI角色动态选择行为

运行在VS2022&#xff0c;x86&#xff0c;Debug下。 27. 策略模式 策略模式让算法的选择与使用独立开来&#xff0c;使得代码更灵活、可扩展和易维护。应用&#xff1a;如在游戏开发中&#xff0c;AI角色需要根据环境和条件做出不同的行为&#xff0c;如寻路、攻击、躲避等。可…

【安装笔记-20240529-Windows-Electerm 终端工具】

安装笔记-系列文章目录 安装笔记-20240529-Windows-Electerm 终端工具 文章目录 安装笔记-系列文章目录安装笔记-20240529-Windows-Electerm 终端工具 前言一、软件介绍名称&#xff1a;Wireshark主页官方介绍功能特性 二、安装步骤测试版本&#xff1a;electerm-1.39.35-win-…

【AIoT-Robot】3d hand pose

手语是聋哑人士的主要沟通工具,它是利用手部和身体的动作来传达意义。虽然手语帮助它的使用者之间互相沟通,但聋哑人士与一般人的沟通却十分困难,这个沟通障碍是源于大部分人不懂得手语。 1. 手势&&手语 手势:手的姿势 ,通常称作手势。它指的是人在运用手臂时,所…

初识springcloud

springcloud eureka eureka的作用 消费者该如何获取服务提供者具体信息&#xff1f; 服务提供者启动时向eureka注册自己的信息,eureka保存这些信息消费者,根据服务名称向eureka拉取提供者信息 如果有多个服务提供者&#xff0c;消费者该如何选择&#xff1f; 服务消费者利…

创建模块

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中&#xff0c;自定义模块有两个作用&#xff1a;一个是规范代码&#xff0c;让代码更易于阅读&#xff0c;另一个是方便其他程序使用已经编…

ORACLE创建dblink

dblink的作用 dblink数据库链接顾名思义就是数据库的链接&#xff0c;当我们要跨本地数据库&#xff0c;访问另外一个数据库表中的数据时&#xff0c;本地数据库中就必须要创建远程数据库的dblink&#xff0c;通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中…

Ubuntu22.04之解决:terminal使用alt+1/alt+2/alt+3失效问题(二百三十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

安卓玩机搞机技巧综合资源----电脑控制手机 投屏操控的软件工具操作步骤解析【二十二】

接上篇 安卓玩机搞机技巧综合资源------如何提取手机分区 小米机型代码分享等等 【一】 安卓玩机搞机技巧综合资源------开机英文提示解决dm-verity corruption your device is corrupt. 设备内部报错 AB分区等等【二】 安卓玩机搞机技巧综合资源------EROFS分区格式 小米红…