前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python即时查询API接口 数据签名验证

python即时查询API接口 数据签名验证

原创
作者头像
老杨占线
修改2020-03-30 17:37:03
8720
修改2020-03-30 17:37:03
举报

前面我们提供了php和.net调用快递鸟API接口的示例,部分网友也使用python开发,因此我封装了相关代码,让大家少踩坑。

直接提供核心源代码

代码语言:javascript
复制
# 请求数据处理方法
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
      
    }
   # 快递鸟KEY
    reqData = quote(data).replace("%20%", "%")

    return reqData

    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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档