阿里开发问题

  • 中文参数数据导致签名失效
    现象: 英文参数没有问题,一旦使用中文就导致签名失效
    分析: 淘宝或者阿里服务器在进行签名验证的时候会把数据解析为name-value的对,如果和调用时的name-value一致那么签名后的结果应该一致,觉得问题出现在name-value不一致导致的,因为我用的是apache的httpclient,里面默认没有设置发送的encode,查看源代码,发现使用的默认的iso8859-1发送的数据,所以导致在阿里或淘宝的服务器收到数据无法正确解析出来,导致签名不一致而签名错误
    解决: 在发送的数据使用utf-8编码即可(某些接口可能需要gbk编码)

你可能感兴趣的:(apache)