python实现快递鸟即时查询API接口 数据签名验证
前面我们提供了php和.net的示例,部分网友也使用python开发,因此我封装了相关代码,让大家少踩坑。
注册快递鸟账号的流程就不说了,大家在百度搜索 快递鸟就能查到官网。
直接提供核心源代码
# 请求数据处理方法 def before_reqData(shipperCode, logisticCode): """请求报文""" frs_reqData = { "OrderCode": "", # 可为空 "ShipperCode": shipperCode, "LogisticCode": logisticCode } # 数据转换为json格式 data = json.dumps(frs_reqData) # 进行url编码 # 替换内容 reqData = quote(data).replace("%20%", "%") return reqData def data_sign(shipperCode, logisticCode): """签名datasign""" frs_reqData = { 'OrderCode': '', 'ShipperCode': shipperCode, 'LogisticCode': logisticCode } APIKey = "554343b2-7252-439b-b4eb-1af42c8f2175"; # 请求内容(未编码) + APIKey # MD5加密前去除空格 data = json.dumps(frs_reqData).replace(": ", ":").replace(", ", ",") + APIKey # md5加密 sign_md5 = hashlib.md5(data.encode("utf-8")).hexdigest() # Base64编码 data_sign = base64.b64encode(sign_md5.encode("utf-8")).decode("utf-8") return data_sign