development, rails

解决阿里云带空格的短信一直SignatureDoesNotMatch的问题

By jere on 2017-08-07 0 Comments

不带空格的短信是正常的,带有空格的统统失败。

经过用阿里云自带SDK进行加密与本Gem加密进行对比发现:SDK将空格encode为%20, 我的gem是%2b.

原来的gem是这么实现的

def encode(str)
    CGI.escape str
end

网上查了一下,找到了这篇文章

改成如下的就好了:

def encode(str)
     ERB::Util.url_encode str
end

不过我个人觉得阿里的文档或工具还有待提高。

打赏

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注