GO 顺丰接口开发

- 由于上次写完快递鸟的接口后发现,没有办法查询顺丰的快递单号,没办法,又花了一天的时间去研究了一下,顺丰快递的路由查询接口,由于本人是个新手,之前只知道接口用json方式传输数据的,结果,到顺丰是xml,为这个又去补充了一下xml的知识,还有其中的MD5加密方式,实在是难受,就加密我就研究了一下午,之前也没有接触过加密的内容,所有内容全部是手写,然后去各种地方找需要的资料,经过此次又学到了不少!

文章供GO 爱好者们玩耍,写的不好大神勿喷!不废话,上代码:

首先,导入包:
GO 顺丰接口开发由于本人用的是GOLAND 包也不知道都用的啥

然后,定义各种结构体、变量、常量:

  • 请求数据的Xml结构体:

GO 顺丰接口开发

  • 接收数据的结构体:
    GO 顺丰接口开发

  • 其他变量

  • GO 顺丰接口开发
    然后,初始化 请求信息,进行加密处理:

此处要注意MD5的加密方式,我了解的不多,顺丰官方的要求是二进制16位的MD5 ,刚开始我是用 MD5.sum()直接获取一个【16】byte,因为是双重加密(base64) 不知道到底哪个有问题,结果试了好长时间,new一个MD5和MD5.sum()直接转,最后返回的效验值应该是一样的,但是呈现的方式不一样,也可以说的显示的格式不一样吧,这个有明白的大神们请指点一下;

GO 顺丰接口开发

然后,Post 查询请求路由请求(顺丰):

GO 顺丰接口开发

然后,获取快递路信息,并将其反序列化,返回一个结构体:

GO 顺丰接口开发

最后完事,用这个结构体去干点啥吧!!!!!
GO 顺丰接口开发

以上的所有Err 我全部没有进行处理,各位可以按自己的需求进行处理。

欢迎大神进行指点,。