要检查 Mac 快捷指令是否对所选搜索文本进行了编码,请检查到达其最终 URL 的值:在快捷指令构建 URL 之后添加快速查看操作,使用包含空格和保留字符的测试短语运行它,并检查这些字符是否显示为百分比转义符。仅凭成功运行并不能证明搜索文本已正确编码;可见的 URL 为您提供了一种检查快捷指令实际组合内容的方法。Apple 记录了用于预览快捷指令操作之间传递的内容的“快速查看”,其 Mac 指南也描述了需要对文本进行 URL 编码的基于 URL 的工作流程。(在 Mac 上的“快捷指令”中测试操作;在 Mac 上的“快捷指令”中使用其他 App 的 URL 方案)

确定需要检查的文本和 URL

搜索快捷指令通常会获取所选短语,将其放入搜索 URL 中,然后打开该 URL。需要检查的部分是包含该短语的查询值(query value)——而不仅仅是最终 URL 是否以网址开头。例如,如果搜索 URL 的形式为 https://example.com/search?q=...,请检查 q= 后面的值。示例域名仅作说明之用;请使用为您快捷指令所构建的实际搜索服务和参数。

从上到下浏览快捷指令操作。找到所选文本进入工作流程的位置、组装 URL 或搜索查询的位置,以及打开 URL 的操作。Apple 的“快捷指令”指南解释说,连接的操作会向前传递其输出,并且“快速查看”操作可以预览在各操作之间传递的内容。(Mac 上“快捷指令”中的操作连接;在 Mac 上的“快捷指令”中测试操作)

让所选文本可供 Mac 快捷指令使用

如果您正在检查现有快捷指令,请确认其已配置为接收所选文本。在“快捷指令”中,打开该快捷指令,打开其“详细信息”,然后启用用作快速操作或在共享表单中显示。Apple 表示这会在工作流程的开头添加一个输入操作。然后在某个 App 中选中文本短语,并从该 App 的共享选项或可用的“快速操作”中调用该快捷指令。具体菜单取决于应用程序以及快捷指令的启用方式。(在 Mac 上工作时运行快捷指令)

根据 Apple 的说法,从程序坞启动的快捷指令不会接收来自当前 App 的内容。如果您以这种方式启动它,它运行时可能不会带有您打算测试的选定内容。请检查快捷指令的输入操作,并在选中文本的情况下从受支持的源 App 运行它。(在 Mac 上工作时运行快捷指令;在 Mac 上从其他 App 运行时限制快捷指令的输入)

在打开前预览构建完成的 URL

在快捷指令编辑器中,在创建最终 URL 的操作与打开它的操作之间插入快速查看。使用无害的测试短语运行快捷指令,例如 red & blue sky。“快速查看”应显示前一个操作的输出。这样您就可以在打开操作接收到所构建的 URL 之前对其进行检查;但这本身并不能验证搜索提供商是否接受该 URL 或按预期解析查询。Apple 建议使用“快速查看”作为识别快捷指令操作之间流动内容的方法。(在 Mac 上的“快捷指令”中测试操作)

查看预览中的查询值。在典型的百分比编码查询组件中,空格可能会显示为 %20,而属于搜索短语的“与”符号(&)可能会显示为 %26。如果“与”符号在值内仍保留为字面量 &,则 URL 解析器可能会将其视为另一个参数的开头。这是一个诊断示例,并不能保证适用于每个搜索服务的查询格式。Apple 自己的快捷指令 URL 方案示例对空格使用 %20,并明确指出提供的文本应经过 URL 编码。(在 Mac 上使用 URL 方案运行快捷指令)

检查哪个操作执行了编码

在编辑器中搜索URL 编码操作,并检查它是否在该值插入查询之前接收了所选文本变量。该操作文档记录的用途是通过添加或移除百分比转义符来对用于 URL 的文本进行编码或解码。(URL Encode) Apple 还记录了使用 URL 操作构建 URL 并使用打开 URL 或 打开 X-Callback URL 打开它们的方法,但其指南警告说 URL 方案可能需要编码文本,并且可能难以调试。(在 Mac 上的“快捷指令”中使用其他 App 的 URL 方案)

有效的检查方式是观察操作的位置和预览效果,而不仅仅是看是否存在名称中带有“URL”的操作。确认所选文本流入了编码步骤,并且插入为查询值的是编码后的结果,而不是原始选中文本。然后确认“快速查看”预览显示了预期的转义符。避免对已编码的值进行二次编码:百分号本身可能会被编码,从而将 %20 变成 %2520。预览中出现这种模式是提示您检查工作流程中是否存在重复编码的线索。

解读结果及其局限性

如果预览显示查询值内的空格和保留字符已转义,这证明组装后的 URL 包含编码文本。如果它显示原始空格,则所选文本可能未经过编码器,可能插入了错误的变量,或者您预览的是较早操作的输出。如果短语丢失,请在更改其 URL 结构之前检查快捷指令的输入和变量连接。

预览可以显示快捷指令组装的 URL 字符串;但它无法确定特定搜索服务将如何处理该查询、URL 是否能成功打开,或者该服务是否应用了自己的规则。要进行最终的功能检查,请移除或移走用于诊断的“快速查看”操作,并使用非敏感的样本短语运行快捷指令。Apple 记录了用于接收内容和打开 URL 的 Mac 控制项,但不保证所有搜索服务的查询行为完全一致。(在 Mac 上工作时运行快捷指令;在 Mac 上的“快捷指令”中使用其他 App 的 URL 方案)

来源