cloudstack的API请求包含如下信息:
API的URL:API服务入口
Command:要执行的命令
Parameters:所有参数(有必选和可选之分)
apikey:admin通过控制台生成
signature:用户验证
(securit key:admin通过控制台生成,生成signature的一部分)
eg.(一个get请求)
http://localhost:8080/client/api?command = ******¶meter1=***& parameter2=****.................&apikey=****&signature=*****
signature生成:
1、将command+parameters+apikey字符串按照字母顺序排序
2、将排序后的字符串中的每一个参数进行URl编码(ps:确保所有空格呗编码为“20%”,而不是“+”)
3、编码后的字符串转换为小写
4、将转换小写后的字符串与securit key进行HMAC SHA-1计算
5、将结果进行base64(utf-8)编码