支持的 cURL 选项
cURL( URL 客户端)是一种开放标准的软件功能库,允许通过从 URL 插入脚本步骤支持多个常规文件传输选项。在此脚本步骤中,使用“指定 cURL 选项”可创建包含以下一个或多个 cURL 选项的计算。
注释 在 cURL 选项内,在每个引号前加反斜杠。例如,要为 Content-type: application/json
指定 HTTP 首部,“指定 cURL 选项”的文本表达式为:
"--header \"Content-type: application/json\""
只有以下列出的选项受 FileMaker 客户端的支持。有关更多信息,请参阅 cURL 文档。
选项1 | 参数2 | 注释 |
---|---|---|
|
|
|
|
|
|
|
| 指定要用于 HTTPS、FTPS 或其他基于 SSL 的协议的客户端证书文件3。说明 此选项假定证书文件已连接私钥与客户端证书。分别使用 |
|
| 指定客户端证书的类型。支持的类型包括 |
|
|
|
|
| 指定秒的小数。 |
|
| 不支持在当前文件大小中使用“-”。数据替换、未附加到、二进制目标。 |
|
| 请参阅表注释 3。 |
|
| 直接文件访问,“-”将由 FileMaker 变量替代。 |
|
|
|
|
| 请参阅表注释 4。 |
|
| 请参阅表注释 4。 |
|
| 请参阅表注释 4。 |
|
|
|
|
| 请参阅表注释 4。 |
|
|
|
|
|
|
|
|
|
|
| 请参阅表注释 3。 |
|
| 指定秒的小数。 |
|
|
|
|
| 如果“从 URL 插入”将一个变量作为目标,请使用此选项强制返回的数据存储为容器数据。 |
|
| 将此选项紧接的选项中的文本从 FileMaker 内部字符编码转换为指定编码。使用为 TextEncode 函数的 |
|
| 请参阅表注释 4。 |
|
|
|
|
|
|
|
|
|
|
| 指定这些方法之一。 |
|
|
|
|
| 附加 |
|
|
|
|
|
|
|
| 如果尚未设置,还需要将 |
|
| 指定这些模式之一。 |
|
|
|
|
|
|
|
| 为每个指定的标题使用此选项一次。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 指定秒的整数。 |
|
| 指定私钥文件的类型。支持的类型包括 |
|
| 指定私钥文件3。如果需要独立于证书文件提供私钥,请使用此选项。 |
|
| 指定整数及后接的可选单位。 |
|
|
|
|
| 指定一个端口或端口范围。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 指定秒的小数。 |
|
| 默认情况下,请求压缩响应。使用此选项可禁用该消息。 |
|
| 默认情况下,会启用 keepalive 消息。使用此选项可禁用该消息。 |
|
|
|
|
| 文件名仅用作容器数据的属性。 |
|
| 私钥的密码短语。如果需要独立于证书文件提供私钥的密码短语,请使用此选项。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 为每个指定的标题使用此选项一次。 |
|
| 与 curl 命令行工具不同,如果密码不存在,FileMaker 客户端不会向用户索要密码。 |
|
|
|
|
|
|
|
| 指定要用于 SFTP 协议的公钥文件。使用 |
|
| 为用于 FTP 服务器的每个命令使用此选项一次。 |
|
|
|
|
|
|
|
| 与 |
|
|
|
|
| 为每个指定的解析器使用此选项一次。 |
|
| 请参阅处理错误。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 指定每秒字节的整数。 |
|
| 指定秒的整数。 |
|
| 还支持 |
|
| 还支持 |
|
| 仅支持指定 cURL 样式的日期表达式。 |
|
|
|
|
| 请参阅表注释 3。 |
|
| 请参阅表注释 3。 |
|
|
|
|
| 请参阅表注释 3。不支持通配(指定与某个模式匹配的文件名)。对于 FTP 和 FTPS,上传到服务器后的文件名将与 URL 末尾指定的文件名相同。对于所有其他受支持的协议,文件名与容器数据指定的文件名相同;URL 中的任何文件名将被忽略。 |
|
|
|
|
| 与 curl 命令行工具不同,如果密码不存在,FileMaker 客户端不会向用户索要密码。 |
|
|
|
|
| 显示 cURL 库 (libcurl) 版本的相关信息。第一行显示 libcurl 及其他链接的第三方库的完全版本。第二行(从“Features:”开始)列出支持的 libcurl 功能。 |
表注释
使用变量
尽管支持的选项都不允许您直接访问文件系统中的文件或在其中创建文件,但是,您可以指定 FileMaker 变量作为该选项所需的源或目标。要访问或创建文件,您可以将变量设置为容器字段。
要访问文件,您可以将变量设置为其中包含文件的容器字段,然后使用该变量作为 cURL 选项的参数。
要创建文件,您可以将变量用作 cURL 选项的参数,将容器字段设置为该变量,然后作为文件导出容器字段。
处理错误
不受支持的 cURL 选项将被忽略。
如果使用 --show-error
选项:
-
如果 cURL 库返回错误导致 FileMaker 客户端通过 Get (上一个错误)函数返回错误代码 1631(指示未指明的连接失败),Get (上一个错误详情)函数会返回 curl 命令行工具返回的相同文本。
-
当操作成功但服务器返回 400 或以上的数据响应代码时,FileMaker 客户端会返回相应的错误代码。如果没有相应的 FileMaker 错误代码,Get (上一个错误) 将返回 1631 并且 Get (上一个错误详情) 将返回形式为“响应代码:nnn”的响应代码。
如果不使用 --show-error
选项,服务器响应代码 401 将导致 Get(上一个错误) 返回 FileMaker 错误代码 1627(“验证失败”)。所有其他响应代码返回 FileMaker 错误代码 0(“没有错误”)。
示例
使用证书 myusername
和 mypassword
作为两个关键值对(fname=Bob
和 lname=Smith
)将 HTTPS POST 数据发送到 example.com,并将请求的数据存储在 $$results 变量中。
在从 URL 插入脚本步骤中:
-
将“目标”设置为名为
$$results
的变量。 -
将“指定 URL”设置为
https://example.com/
。 -
将“指定 cURL 选项”设置为以下等价选项集之一:
"--user 我的用户名:我的密码 --data fname=Bob&lname=Smith"
"--user 我的用户名:我的密码 -d fname=Bob --data-ascii lname=Smith"
"--user 我的用户名:我的密码 -d @$post_data"
其中变量
$post_data
设置为文本形式的关键值对或者设置为内容是包含关键值对的文本文件的容器字段。
此脚本显示以上示例中从 post_data
容器字段中的文件发送关键字对的情况。
设置变量 [ $post_data ; 表::post_data ]
从 URL 插入 [ 包括对话框:关闭 ; 目标: $$结果 ;
"https://example.com/" ; 验证 SSL 证书;
cURL 选项: "--user 我的用户名:我的密码 -d @$post_data" ]