首页
学习
活动
专区
圈层
工具
发布

从VBA的vbNullString认识API参数传递

(""), StrPtr(vbNullString)End Sub'输出 163726236 0 那么在使用API传递String类型参数的时候,如果需要传1个空字符,非得要vbNullString...API String类型参数传递 从帮助文件中知道,vbNullString 值为 0 的字符串,如果真的传递0过去,很明显也是不行的,数据类型就不对,所以这个只是一个标志,VBA编译器会具体去处理这种情况...对API的参数传递,VBA为我们做了太多了,以至于使用者不需要明白底层原理就可以简单的使用。 如果了解一点C语言的知识,我们就能大概理解了。...在C语言里,并没有String类型,只有Char类型(也就是VBA里的Byte),而API里的String类型其实就是Char数组的指针,VBA在API参数传递的时候,碰到String类型,它又帮我们做了什么...VBA会帮使用者将VBA的String类型首先从Unicode转换为ANSI编码,然后取出转换后的Char数组的第一个地址,再将这个地址传递给了API,API如果有返回值,VBA就会做一个相反的操作,测试代码

2K10

图片管理:从图片获取到上传与删除的 API 数据交互

本文将重点讲解如何通过 API 实现图片的获取、上传与删除功能,并结合 Vue.js 组件的实现方式,提供一个全面的图片交互模块。...为了实现这一功能,我们需要向后端发送请求,获取当前页的图片数据,并根据返回的总图片数(total)和每页图片数量(perPage)来计算总页数。...:", error); } finally { this.isLoading = false; }}如上代码所示,fetchImages 方法会向 API 请求当前页的图片数据,并根据返回的...点击该选项后,前端会调用删除 API 请求,成功删除图片后,会从当前图片列表中移除该图片。...结语本文介绍了如何通过 API 实现图片的获取、上传和删除功能。

74210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    这可能是我用过最“强大”的API

    我们在编程教室中写过不少使用 API 开放接口的案例,比如: 查询书影音的豆瓣(爬虫+网站开发实例:电影票比价网) 查询股票的tushare(想用 Python 做数据分析?...使用接口时,常规操作是按照官方提供的方式,将申请获得的公钥、密钥加上时间戳进行 MD5 加密,作为权限的验证放在参数里,通过 GET 方式进行请求(可以用 requests)。 ?...作为一个学习者,你可以从使用中学到: 公钥、私钥、MD5加密的使用(接口权限验证) API的调用,参数传递,JSON返回数据的处理 多维度数据的整理分析 还有,英文文档的阅读 让我有点遗憾的是,数据中并没有太多英雄角色相关的数据...(当然,非商业的) 早前我也推荐过豆瓣的 API,不过豆瓣现已把开发者页面下线,无法查看具体接口说明,之后会不会对外关闭也很难说了。...Marvel API 相比豆瓣 API 来说要复杂一些,主要是权限认证的部分。

    1K10

    想了解漫威的各种信息?推荐你使用这个API

    使用接口时,常规操作是按照官方提供的方式,将申请获得的公钥、密钥加上时间戳进行 MD5 加密,作为权限的验证放在参数里,通过 GET 方式进行请求(可以用 requests)。 ?...(nameStartsWith=name) 第三方库地址: https://pypi.org/project/marvel/ Marvel 的这个 API,我觉得是个非常好的练手工具。...作为一个学习者,你可以从使用中学到: 公钥、私钥、MD5加密的使用(接口权限验证) API的调用,参数传递,JSON返回数据的处理 多维度数据的整理分析 还有,英文文档的阅读 ?...(当然,非商业的) 早前我也推荐过豆瓣的 API,不过豆瓣现已把开发者页面下线,无法查看具体接口说明,之后会不会对外关闭也很难说了。...Marvel API 相比豆瓣 API 来说要复杂一些,主要是权限认证的部分。

    53520

    ElasticSearch常用操作命令

    # 删除所有数据 curl -XDELETE 'http://192.168.0.8:29200/_all' # 查询cat API 如果经常在命令行环境下工作,cat API 对你会非常有用。...用 Linux 的 cat 命令命名,这些 API 也就设计成像 *nix 命令行工具一样工作了。 他们提供的统计和前面已经讨论过的 API ( 健康、节点统计等等 ) 是一样的。...你可以包含更多的指标,但是比起查阅文档,让我们直接问 cat API 有哪些可用的吧。 # 你可以过对任意 API 添加 ?help 参数来做到这点: GET /_cat/nodes?...让我们把结果传递给 grep 命令来移除提到 Marval 的数据: % curl 'localhost:9200/_cat/indices?...在传递给 grep ( 通过 -v 来过滤掉不需要匹配的数据 ) 之后,我们得到了一个没有 Marval 混杂的索引排序列表了。 这只是命令行上 cat 的灵活性的一个简单示例。

    86830

    聊聊接口测试Postman环境与变量的深度应用

    作为测试从业者,在使用测试工具postman时会遇到多环境切换的配置管理混乱,敏感数据泄露风险演示变量层级覆盖和动态注入,临时测试污染正式数据展示局部变量覆盖技巧,动态鉴权参数计算,脚本配合变量的自动化处理...  ],  "_inherits": { "id": "base-env-id" } // 继承基础配置}二、敏感数据的动态注入场景痛点硬编码密码/Token 导致的安全风险,团队成员无法共享环境文件解决方案结合外部密钥管理...(Pre-request Script)://javascript// 从系统环境变量获取密钥(本地或CI平台)const apiSecret = pm.environment.get('API_SECRET...:数据库查询时可快速过滤测试数据四、环境感知的自动化断言场景痛点生产环境不允许执行删除操作,但测试环境需要验证删除逻辑解决方案环境敏感型测试://javascript// Tests 脚本const env...(跨请求/环境)场景痛点下单流程需要传递登录 Token、商品 ID、地址 ID 等多个动态参数解决方案工作流变量传递:登录请求 → Tests 脚本提取 Token:javascriptconst token

    9620

    淘系的音视频编辑方案:非线性编辑引擎

    Audio Device和Video Device都是作为一个数据消费的中间装置而存在,按照时序获取数据,根据业务场景的不同,将数据传递给不同的消费者。...在处理流程中,音频源和纹理源提供出来的都是对于的复合节点,合成器用于解释并处理复合节点,将音频复合节点处理成PCM数据,将纹理复合节点处理成纹理数据。...Marvel Engine C++ API按照架构中逻辑层的划分进行类C接口定义,不区分业务场景进行接口设计。Platform API基本就是按照C++ API对各平台和语言进行的封装。...Marvel Engine C++ API的存在,主要是期望避免随着业务数量和业务诉求的增多,Marvel的API越来越臃肿最后难以维护,所以尽可能的屏蔽业务场景带来的影响,这样同样也使得这套接口对业务并不友好...Business Layer API是按照业务诉求对Platform API或者C++ API进行封装,我们担忧的接口膨胀,主要来源于Editor,Marvel会按照常见的视频编辑应用,内置一套通用的业务

    1.2K20

    Android O 行为变更官方指南

    针对所有 API 级别的应用 这些行为变更适用于在 Android O 平台上运行的所有应用,无论这些应用是针对哪个 API 级别构建。...对于确实无法访问的主机,此项变更意味着调用需要两倍的时间才能返回结果。...从 Android O 开始,在此情况下系统将记录异常堆栈跟踪情况;在之前的平台版本中,系统不会记录异常堆栈跟踪情况。...应用应使用 sourceDir 获取此目录,而不能直接使用目录格式。 有关提升应用安全性的其他准则,请参阅以下链接中的面向 Android 开发者的安全性。...新的 API 适用于需要暂停而不是闪避的应用。请注意,此行为无法在 Android O Developer Preview 1 版本中实现。 当用户打电话时,活动的媒体流将在通话期间静音。

    2K20

    《代码沙盒深度实战:iframe安全隔离与实时双向通信的架构设计与落地策略》

    代码沙盒的核心功能依赖高效通信:宿主需向沙箱传递用户编写的HTML、CSS、JavaScript代码,以及主题配置、第三方库引入指令等信息;沙箱需向宿主反馈代码渲染结果、运行错误、控制台输出、资源加载状态等数据...传统的通信方式如location.hash或window.name,存在数据量有限、易被监听的缺陷,已无法满足现代沙箱的需求,而postMessage API作为浏览器推荐的跨域通信方案,虽具备基础通信能力...,便于实现消息重发与确认;时间戳字段用于过滤过期消息,防止因网络延迟导致的旧数据干扰;数据内容字段则根据消息类型存储对应信息,例如代码传输消息需包含代码类型(HTML/CSS/JavaScript)、版本号与内容...,每次沙箱初始化时,宿主通过后端接口获取临时密钥,并传递给沙箱,后续通信中,每条消息需携带该密钥,接收方校验密钥合法性后再处理消息内容。...但Web Worker无法访问DOM,需通过线程间通信传递计算结果——例如用户代码需要处理大量数据并生成图表,可将数据处理逻辑放入Web Worker,计算完成后将结果传递给主线程,主线程再根据结果渲染图表

    13510

    研发中:联邦SPIFFE信任域

    https://tools.ietf.org/html/rfc7517 我们喜欢JWKS,因为它是一种通用的、可扩展的格式,用于共享可以容纳JWT和X.509证书的密钥信息。...工作负载API SPIFFE工作负载API提供用于读取联邦公钥的端点。此API与用于读取当前信任域的证书的API不同,所以应用程序可以区分本地和联邦域的客户端。...挑战 外部SPIFFE服务器的初始身份验证 联邦API存在引导问题:如果双方都没有共享信任根,则无法建立初始安全连接。其一种解决方案,是使用两个SPIFFE服务器信任的证书颁发机构的Web PKI。...如果网络中断很长,并且两个SPIFFE实现无法通信,超过完整的密钥轮换周期,那么它们将无法继续进行通信,从而破坏了联邦关系。...或者,如果Web PKI可用于SPIFFE服务器,则可用于保护联邦连接。我们相信联邦SPIFFE服务器之间的Web PKI,将是一种常见的设计模式,因为它避免了长网络中断导致密钥轮换的问题。 ? ?

    1.4K30

    区块链 | 流行的分布式存储平台Swarm和IPFS分析「建议收藏」

    该密钥将解析到资源的最近版本上(更新该资源不会改变该密钥)。有 3 种和可变资源更新进行交互的方法:HTTP API、Golang API 和 Swarm CLI。...单个块(和整个内容)的引用将是编码数据哈希值和加密密钥的组合。这意味着引用将比标准无加密的 Swarm 引用长一些(不是 32 个字节,而是 64 个字节)。...当你的节点将你的内容的加密块与其他节点同步时,它不与其他节点共享完整的引用(或任何方式的解密密钥)。这意味着其他节点无法访问你的原始数据,此外,它们也无法侦测到同步的块是否经过加密。...检索数据时,只在本地 Swarm 节点上将它解密。在整个检索过程中,这些块以加密的形式遍历网络,参与的对等节点无法解密它们。它们只在用于下载的 Swarm 节点上进行解密和重组。...加密功能是非确定性的(因为每个上传请求生成的密钥是随机的),API 的用户不应该依赖结果的幂等性;这样,在启用加密的情况下,同样的内容两次上传到 Swarm 所产生的引用是不同的。

    2K30

    UEC规范v1.0 - 2.软件层_整体架构_UE与libfabricAPI映射关系详解

    在直接 JobID 方法中,数据传输操作的 SES 标头中的 ses.JobID 字段必须直接从 libfabric 端点的 auth_key 属性中获取。...使用 fi_mr_bind() API 将内存区域绑定到端点。fi_mr_key() API 用于获取远程端点访问已注册内存区域所需的密钥。...1 => 内存区域支持优化的非匹配标头 表 2-13 所示的内存区域密钥格式必须用于用户提供的密钥和提供方提供的密钥。完整的 64 位密钥格式必须通过 fi_mr() API 传递。...fi_av_insert() API 返回 fi_addr_t 类型的映射地址,该地址将传递给数据传输 API 以识别目标端点,从而无需在每次数据传输时都传递目标端点的完整地址。...类型的 libfabric 端点一起使用时,并且无法传递消息时,必须写入错误 CQ 条目(此要求适用于所有注入操作) 2.2.5.4.1.1 意外消息 必须使用 SES 规范中定义的方法来支持意外消息

    60210

    Linux系统中Shell脚本加密字段的处理方法和原理分析

    本文将介绍几种常见的shell脚本加密方法,并分析它们的工作原理。明文存储的风险在shell脚本中明文存储敏感信息(如数据库密码、API密钥等)会带来安全风险。...通过环境变量传递敏感信息,可以在不修改脚本的情况下,控制敏感数据的访问。2. 使用配置文件另一种方法是将敏感信息存储在配置文件中,并在脚本中引用。#!...你可以创建一个密钥对,使用公钥加密敏感信息,只有拥有对应私钥的用户才能解密。这种方法的优点是即使加密文件被泄露,没有私钥也无法读取敏感信息。4....盐值是一个随机值,用于使相同的密码产生不同的加密结果。这种方法的缺点是盐值和加密算法需要保密,否则加密数据可能被破解。5....原理分析: 密钥管理系统提供了一个中心化的解决方案,用于存储、访问和审计敏感信息。它们通常提供API接口,允许应用程序在运行时安全地访问密钥和密码。

    52100

    Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)

    获取您的 OpenAI API 密钥 您需要 API 密钥才能成功进行 API 调用。...将您的 API 密钥保存为环境变量 保存 API 密钥并使其可用于 Python 脚本的一种快速方法是将其保存为环境变量。...这个实例已经包含了身份验证信息,因为你已经将环境变量命名为 OPENAI_API_KEY。如果你遵循了这个命名规则,它会自动从你的环境变量中获取 API 密钥值。...当然,你也可以在创建实例时直接通过 api_key 参数传递 API 密钥。 第 5 行将文本提示定义为一个常量。...第 9 行将 PROMPT 的值传递给名为 prompt 的参数。这样,你就为 DALL·E 提供了用于生成图片的文本。别忘了,你之前在命令行中调用 API 时也传递了文本提示。

    66210

    vue中引入百度地图API

    v=3.0&ak=你的密钥"> 此时我们还需要告诉webpack,这个是在运行时再去从外部获取这些扩展依赖。...需要在webpack.base.conf.js中设置externals属性,以便可以在vue中进行引用 接下来就可以在文件中愉快的引用了 import BMap from 'BMap'; 在我愉快的写好的代码后...我项目中用到了api的定位和逆地址解析功能,发现后台有警告并且api功能无法使用 点开发现百度js的内容为: (function(){ window.BMap_loadScriptTime = (...v=3.0&ak=你的密钥&services=&t=20200109192240">'); })(); 里面包含了 document.write方法,而异步加载的js是不允许使用document.write...v=3.0&ak=你的密钥&services=&t=20200109192240"> 第二种 通过模块化引入的方法 百度地图官方已经有api的vue版本 地址:https://github.com

    58020

    开发中需要知道的相关知识点:什么是 OAuth?

    反向通道是直接从客户端应用程序到资源服务器的 HTTP 调用,用于交换令牌的授权许可。这些通道用于不同的流,具体取决于您拥有的设备功能。...您只需要客户的凭据即可完成整个流程。这是一个反向通道,仅用于使用客户端的凭据获取访问令牌。它支持共享秘密或断言作为使用对称或非对称密钥签名的客户端凭证。...此流程允许授权服务器信任来自第三方(例如 SAML IdP)的授权授予。授权服务器信任身份提供者。该断言用于从令牌端点获取访问令牌。...Open ID Connect 流程涉及以下步骤: 发现 OIDC 元数据 执行 OAuth 流程以获取 ID 令牌和访问令牌 获取 JWT 签名密钥并可选择动态注册客户端应用程序 根据内置日期和签名在本地验证...JWT ID 令牌 根据需要使用访问令牌获取其他用户属性 OAuth 2.0 总结 OAuth 2.0 是一种用于委托访问 API 的授权框架。

    1.5K40

    OAuth 详解 什么是 OAuth?

    人们无法对它们进行逆向工程并获得密钥。它们在最终用户无法访问的受保护区域中运行。 公共客户端是浏览器、移动应用程序和物联网设备。 图片 客户端注册也是 OAuth 的一个关键组成部分。...反向通道是直接从客户端应用程序到资源服务器的 HTTP 调用,用于交换令牌的授权许可。这些通道用于不同的流,具体取决于您拥有的设备功能。...您只需要客户的凭据即可完成整个流程。这是一个反向通道,仅用于使用客户端的凭据获取访问令牌。它支持共享秘密或断言作为使用对称或非对称密钥签名的客户端凭证。...此流程允许授权服务器信任来自第三方(例如 SAML IdP)的授权授予。授权服务器信任身份提供者。该断言用于从令牌端点获取访问令牌。...Open ID Connect 流程涉及以下步骤: 发现 OIDC 元数据 执行 OAuth 流程以获取 ID 令牌和访问令牌 获取 JWT 签名密钥并可选择动态注册客户端应用程序 根据内置日期和签名在本地验证

    5.9K20

    架构必备「RESTful API」设计技巧经验总结

    在我写这篇文章的时候,我不禁笑了起来,因为从这件事情的背后看到了一个伟大的类比,那就是从其他人那里引用了海明威的话。...使用HTTP方法 我们可使用下面这些HTTP方法: GET 用于获取数据。 POST 用于添加数据。 PUT 用于更新数据(整个对象)。 PATCH 用于更新数据(附带对象的部分信息)。...如果你期待从服务器上获取JSON格式的数据,那么请客气一点,请发送JSON格式的内容给服务器。请两边保持一致! 某些情况下,如果动作执行成功(例如DELETE),那我并没有什么需要返回的。...这个长生命期的像密码一样的密钥,可以被用来请求新的短生命期的JWT访问令牌。刷新令牌也可以用于续订并延长其使用寿命,这意味着如果用户持续使用该服务,则无需再次登录。...如果验证通过,则JWT的有效载荷中包含了一个uid,它用于在API响应的上下文中传递一个对应的user对象来检查权限/角色,并相应地创建/读取/更新/删除数据。

    2.3K30
    领券