将 curl 与 Watson 示例配合使用
curl
实用程序允许您从命令行发出 HTTP 请求。 该实用程序提供了一个简单接口,用于发出使用 GET
, POST
和其他 HTTP 方法的请求。 它允许您传递请求头,数据和其他输入,并且可以显示调用返回的所有响应头和数据。 由于 curl
不需要编写代码来执行 REST API ,因此 IBM Watson® 文档使用 curl
来演示示例调用。
缺省情况下, curl
实用程序随 Apple ® macOS® 和 Microsoft® Windows®的最新版本一起安装。
建议不要将 curl
用于应用程序开发。
使用 curl 进行安全通信
要测试系统上是否安装了 curl
,请在终端提示符处运行以下命令:
curl -V
如果输出在受支持的协议中列出 https
,在受支持的功能部件中列出 SSL
(安全套接字层) 或 TLS
(传输层安全性) ,那么您都已设置。 所有 IBM Watson Watson 服务都将这些功能用于客户机与服务器之间的安全连接。 将针对本地证书库验证连接请求,以确保认证,完整性和机密性。
如果未列出这些协议,那么可以对请求使用自签名证书。 但是,要成功建立连接,需要通过在请求中包含 --insecure
或 -k
选项来禁用 SSL 验证。
强烈建议启用 SSL 验证。 禁用 SSL 会危及连接和数据的安全性。 仅在必要时禁用 SSL ,并且仅对不保密的数据禁用 SSL ,并采取步骤尽快启用 SSL。
示例 curl 请求
以下示例演示了如何使用 curl
。 这些请求使用 Speech to Text 服务将音频转录为具有 IBM Cloud® 和 IBM Cloud Pak® for Data的文本。
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: audio/flac" \
--data-binary ./audio-file.flac \
"{url}/v1/recognize"
IBM Cloud Pak for Data
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: audio/flac" \
--data-binary ./audio-file.flac \
"{url}/v1/recognize"
在这两个示例中,都将 {url}
替换为服务实例的 URL。 认证在 IBM Cloud®(其中您将 {apikey}
替换为服务实例的 API 密钥) 和 IBM Cloud Pak® for Data(其中您将 {token}
替换为您为服务实例生成的访问令牌) 之间有所不同。 有关向任一平台上的服务进行认证的更多信息,请参阅 向 Watson 服务进行认证。
根据文档中的示例提交请求时,请省略示例中的花括号 ({ }
); 它们指示必须替换为实际值的变量值。 Windows 用户必须将每行末尾的反斜杠 (\
) 替换为插入标记 (^
)。 确保 \
或 ^
之后没有尾部空格。