您好,有种情况, 使用阿里云短信,传递参数值时,里面不能包含特殊字符('+'), 否则报 签名失败 错误,但其他特殊字符('()','_')却可以,请问下 这是怎么回事????
错误: Message":"Specified signature is not matched with our calculation
StringToSign的计算步骤如下:
1) 按照参数名称的字典顺序对请求中所有的请求参数(包括文档中描述的“公共请求参数”和给定了的请求接口的自定义参数,但不能包括“公共请求参数”中提到 Signature 参数本身)进行排序。
2) 对每个请求参数的名称和值进行URL编码。
3) 对编码后的参数名称和值使用英文等号(=)进行连接
4) 再把英文等号连接得到的字符串按参数名称的字典顺序依次使用&符号连接,即得到规范化请求字符串。
5) 使用上一步构造的规范化字符串按照下面的规则构造出StringToSign,规则如下:
StringToSign=
HTTPMethod + “&” +
percentEncode(“/”) + ”&” +
percentEncode(CanonicalizedQueryString)
注意:构造StringToSign时需要对规范化的字符串做Encode。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。