阿里大鱼短信服务的时候发送短信 API 的 sign 值出现了点问题,按官方算法说明提供的流程算不出来正确的签名.用过他们服务的朋友们请帮忙看一下.附有过程截图和必要说明.
##附上原始文本供验证:
http://gw.api.taobao.com/router/rest?
sign=740821BAD01407C023C858F8228A241D
&app_key=23620232
&format=json
&force_sensitive_param_fuzzy=true
&method=alibaba.aliqin.fc.sms.num.send
&partner_id=top-apitools
&rec_num=13119803510
&sms_free_sign_name=%E5%AF%86%E7%A0%81%E6%9C%8D%E5%8A%A1
&sms_param=%7B%22passw%22%3A%221234%22%7D
&sms_template_code=SMS_44400491
&sms_type=normal
×tamp=2017-02-06+12%3A18%3A42
&v=2.0
APP Secret 为:6356bf471c1c7b96a09d00ecee2a7d6e
阿里官方文档:http://open.taobao.com/docs/doc.htm?articleId=101617&docType=1&treeId=1#s4
1
andyfan OP 谁能帮我 @两位阿里的同学过来看看
|
2
sujin190 2017-02-06 13:56:40 +08:00 1
计算签名是的各个参数值不要做 urlencode ,签名完,请求的时候再编码,话说你干嘛不使用它们的 sdk ,如果没有特殊要求的话,比如要使用协程之类的
|
3
andyfan OP @sujin190 不用 SDK 是因为我用 Python 开发, 阿里提供的 SDK 版本跟我这边的环境不一致, 应用场景比较简单, 专门为这个迁移版本就很没必要了.我刚刚还发现图上的排序 format 和 force...是排错了的, 我修正过来以后不经过 urlencode, 还是算不出来那个值.
|
4
sujin190 2017-02-06 14:32:37 +08:00
@andyfan 哦, python 的还要注意编码,最好使用 unicode 连接字符串, hash 之前再编码成 urf-8
|
5
horsley 2017-02-06 14:53:22 +08:00 1
之前我用 go 写也遇到了,后来发现是一处文档没写清楚带来的问题,后来已经实现了可用版本,如果 lz 需要留下 mail
|
6
andyfan OP |
7
horsley 2017-02-07 19:40:48 +08:00
@andyfan 我也不是记得很清楚,大半年前写的代码。死活签名调不通,换了别的供应商,后来忘了改了啥之后就可以了,代码发你邮箱参考下。
|
8
horsley 2017-02-07 19:42:41 +08:00
|