您通过发送 API 请求来调用火山引擎域名服务的 API。
在发送 API 请求前,您需要理解以下内容:
请求结构
API 请求的结构包含以下内容:
API 服务地址
域名服务的 API 服务地址是domain-service.volcengineapi.com。
通讯协议
您可以使用 HTTP 协议或 HTTPS 协议发送请求。推荐您使用 HTTPS 协议,其安全性更高。
请求方法
关于 API 请求所使用的方法,参见每个 API 的说明。对于 POST 请求,您必须指定 Content-Type 的字段值为 application/json。
请求参数
请求参数包括公共参数和每个 API 所特有的参数。
公共参数
公共参数是每个 API 请求必须包含的参数。如果一个 API 请求缺失公共参数,请求会失败。以下表格中的公共参数必须包含在查询字符串(query string)中。
请求鉴权
每个请求中必须包含鉴权信息。该鉴权信息用以验证请求者的身份。您可以使用以下任一方法提供鉴权信息。推荐您使用方法一。
(推荐)方法一:在请求头中包含鉴权信息
您需要在请求头中包含以下参数:
方法二:在查询字符串中包含鉴权信息
您需要在查询字符串中包含以下查询参数。
签名计算方式
本章节主要介绍签名是如何计算的。
- 本章节的伪代码中的 HMAC 方法使用的是 HMAC-SHA256 算法。
- 本章节的伪代码中的 HexEncode 方法将字符串转换为十六进制编码格式的字符串。
签名参数 Signature 是基于 kSigning 和 StringToSign 参数计算而来的。Signature 的伪代码如下:
StringToSign 表示用来计算签名的签名字符串。StringToSign 的伪代码如下:
关于 StringToSign 伪代码中 Algorithm 和 RequestDate 参数的说明,参见伪代码中参数的说明。StringToSign 伪代码中其他参数的说明如下。
CredentialScope
CredentialScope 表示凭证范围。CredentialScope 的伪代码如下:
CanonicalRequest
CanonicalRequest 表示规范的请求。CanonicalRequest 的伪代码如下:
CanonicalRequest 伪代码中参数的说明如下:
- HTTPRequestMethod:表示请求方法。该参数的取值是 GET 或 POST。
- CanonicalQueryString:表示规范的查询字符串。CanonicalQueryString 的值是通过以下规则生成的:
- CanonicalHeaders:表示规范的请求头。CanonicalHeaders 是通过以下步骤生成的:
- 将参与签名计算的请求头参数的名称转化成小写字母。
- 以 key-value 的格式拼接这些请求头参数。key 是请求头参数的名称,value 是请求头参数的值。
- HexEncode(Hash(RequestPayload)):表示一个计算值。该值是通过对请求正文中 payload 的值应用 SHA256 哈希算法计算得到的。
伪代码中参数的说明
以下表格包含了本文中多个伪代码中参数的说明。
请求示例