阿里开发问题

探讨了中文参数引起的签名失效问题,分析了原因在于编码差异,并提供了解决方案:发送数据时采用UTF-8编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值