构造请求 构造请求 本节介绍REST API请求的组成,以调用云主机产品的"根据regionID查询用户资源"举例说明如何调用该API。 请求示例 POST ContentType:application/json ctyuneoprequestid:0ffb9b07d5a84e19b3ce12dfb9705a1d EopAuthorization:4a4bdc57e06542199b5f98d4cd107be2 Headersctyuneoprequestid;eopdate Signatureb2WEo4nh9ewn6SWOP0ii5g8L0z9CT5gprpDWntlCX9I Eopdate:20221107T093029Z 请求URI {URIscheme}://{Endpoint}/{resourcepath}?{querystring} 参数 描述 URIscheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。例如云主机产品服务在某个区域的Endpoint为“ctecsxxx.ctapi.ctyun.cn” resourcepath 资源路径,即API访问路径。从具体API的URI模块获取,例如"根据regionID查询用户资源"API的resourcepath为“/v4/region/customerResources” querystring 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名参数取值”,例如“?limit10”,表示查询不超过10条数据 示例: 云主机根据regionID查询用户资源,则需使用云主机产品在对应区域的Endpoint(ctecsxxx.ctapi.ctyun.cn),并在"根据regionID查询用户资源"的URI部分找到resourcepath(/v4/region/customerResources),拼接起来如下所示。 < 说明: 为方便查看,在每个具体API的URI部分,只给出resourcepath部分,并将请求方法写在一起。这是因为URIscheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。 {resourcepath}资源路径,使用编码的规范URI示例: 前: /v4/region/customerResources api/code 后: /v4/region/customerResources%20api/code 说明: 资源路径{resourcepath}是从HTTP Host结束到查询字符串参数(如果有)的问号字符(“?”)中间的部分。 需要根据RFC 3986标准化URI路径规范移除冗余和相对路径部分。路径中每个部分都必须进行URI编码。 {querystring}查询参数,使用规范查询字符串示例: 前: prodInstId11&startTime20210404T06:01:46Z 后: prodInstId11&startTime20210404T06%3A01%3A46Z 说明: {querystring}为键值对,使用等号字符()拼接。值需进行URI编码,同样需要满足RFC 3986关于URL编码规范的定义要求。键则不需要。对没有值的参数使用空字符串。 在每个参数值后追加与字符(&),列表中最后一个值除外。 使用 %XY 对所有其他字符进行百分比编码,其中“X”和“Y”为十六进制字符(09和大写字母AF)。例如,空格字符必须编码为 %20(不像某些编码方案那样使用“+”),扩展UTF8字符必须采用格式 %XY%ZA%BC。 RFC 3986规范的具体要求: 字符AZ、az、09 以及字符、、.、不编码。 对其它ASCII码字符进行编码。编码格式为%加上16进制的ASCII码。例如半角双引号(")将被编码为%22。空格编码成%20,而不是加号(+)。 非ASCII码通过UTF8编码。