检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如虚拟私有云服务的查询VPC列表:/v1/{project_id}/vpcs,此时规范的URI编码为: GET /v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs/ 计算签名时,URI必须以“/”结尾。发送请求时,可以不以“/”结尾。
以虚拟私有云服务的查询VPC列表接口为例,HTTP方法为GET,域名(Endpoint)为service.region.example.com,请求URI:/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?
apigw.region.cloud.com/test会匹配上不同的API。
包含签名信息的完整请求如下: GET /v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?
$req = new Request('GET', 'https://service.region.example.com/v1/{project_id}/vpcs?
//The following example shows how to set the request URL and parameters to query a VPC list.
"service.region.example.com/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?
1 2 3 4 //The following example shows how to set the request URL and parameters to query a VPC list.
AK/SK签名认证算法详解 AK/SK签名认证流程 构造规范请求 创建待签字符串 计算签名 添加签名信息到请求头
AK/SK签名认证操作指导 AK/SK签名认证操作流程 获取EndPoint 获取AK/SK 获取项目ID 获取账号名和账号ID 签名SDK与demo
常见问题 子项目场景下怎么调用API API调用是否支持长连接 Body体是否可以不参与签名 请求消息头参数是否可以不参与签名 使用临时AK/SK做签名 IAM认证信息错误 APP认证信息错误 "The API does not exist or has not been published
签名SDK与demo Java Go Python C# JavaScript PHP C++ C Android 父主题: AK/SK签名认证操作指导
400 协议不被允许,允许的协议是xxx 注意:xxx以实际响应中的内容为准 改用支持的协议(HTTP/HTTPS)访问 APIGW.0608 Failed to obtain the admin token. 500 无法获取管理租户 联系技术支持 APIGW.0609 The VPC
System.getenv("HUAWEICLOUD_SDK_SK")); request.setMethod("GET"); request.setUrl("https://service.region.example.com3/v1/{project_id}/vpcs
RequestParams* request = new RequestParams("GET", "service.region.example.com", "/v1/{project_id}/vpcs", "limit=2", ""); 添加需要签名的头域,或者其他用途的头域
9 10 sig_str_t host = sig_str("service.region.example.com"); sig_str_t method = sig_str("GET"); sig_str_t uri = sig_str("/v1/{project_id}/vpcs
计算签名 将SK(Secret Access Key)和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign))
获取账号名和账号ID 在调用接口的时候,部分URL中需要填入账号名和账号ID,所以需要先在管理控制台上获取到账号名和账号ID。账号名和账号ID获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”。 查看账号名和账号ID。 图1 查看账号名和账号
获取项目ID 在调用接口的时候,部分URL中需要填入项目编号,获取token时,同样需要获取项目编号,所以需要先在管理控制台上获取到项目编号。项目编号获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”,查看“项目ID”。 项目用于对云服务器资源进行物理隔离
public class HttpClientDemo { private static final Logger LOGGER = LoggerFactory.getLogger(HttpClientDemo.class); public static void