分享一下:接入·快递鸟·遇到的一个小坑
发布于 7 年前 作者 ELSS-ZION 3520 次浏览 来自 分享

按照快递鸟官网说明: 接入即时查询API,DataSign 参数 是md5后base64编码的结果。所以我写成了这样: crypto.createHash(‘md5’).update(str + appkey).digest(‘base64’)

结果出错了,经过对比官网的例子一步步看下来,正确的写法是: var hex = crypto.createHash(‘md5’).update(str + appkey).digest(‘hex’) var dataSign = Buffer.from(hex, ‘utf8’).toString(‘base64’)

应该是由于php的md5()出来的结果就是一个utf-8编码的hex表示方式的字符串,而node的 digest() 直接出来的就是utf-8编码的base64表示方式字符串。

唉~~感觉还是没能把自己的想法表达清楚,真为自己着急啊!!!!!! 算了,代码把我想说的都已经说了。

8 回复

无实质内容,快递100 api直接对接就好了,没啥意义

@i5ting 快递100我记得好像是1毛钱一次,按单算。快递鸟接上物流追踪api可以完全免费。

@i5ting 谢谢批评,之前写的重点不突出,重新写了下。

@ELSS-ZION 你这样导流有意思么?如果有内容也就算了,如果你为了打赏也就算了,如果不认同cnode,可以不发。如果认同,请原文发过来。

@i5ting 实在不好意思,我只是懒得复制粘贴过来一堆东西。而且如果改动的话两边都要改。我今晚把所有文章原文粘过来。 自豪地采用 CNodeJS ionic

@ELSS-ZION 没事,社区是欢迎大家发表原创的,加油

@i5ting 我的这篇文章写得实在太糟糕了,完全让人看不出主线,算了,我还是把它删了吧!就写个小坑算了,看来目前还是不够能力表达清楚自己想法。

@ELSS-ZION 不要怕,都是需要练习的,有个段子是这样说的,面试2个程序员,水平一样,咋选呢?答案是选会写文章的。

回到顶部