python实现快递鸟API查询接口 数据签名通用方法
为了方便朋友们使用python开发,封装了相关代码,让大家少踩坑。
注册快递鸟账号获取APIkey ID的流程就不说了,大家在百度搜索快递鸟就官网免费注册。
下面直接提供核心源代码
# 请求数据处理方法
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
极兔速递快递单号查询信息如下:
2020-04-24 09:18:31【沧州市】【沧州运河区医专网点】正在派件
2020-04-24 09:10:37【沧州市】快件到达【沧州运河区医专网点】
2020-04-24 07:50:13【沧州市】快件离开【沧县集散点】已发往【沧州运河区医专网点】
2020-04-23 19:31:08【沧州市】快件到达【沧县集散点】
2020-04-23 17:40:04【沧州市】快件离开【沧州盐山网点】已发往【沧县集散点】
2020-04-23 17:39:28【沧州市】【沧州盐山网点】已收件
2020-04-23 10:27:16【沧州市】【沧州盐山网点】已取件