zoukankan      html  css  js  c++  java
  • 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

      

  • 相关阅读:
    暑假日报-35
    非确定性有穷状态决策自动机练习题Vol.1 题解 & 总结
    loj数列分块入门 1~9
    第12周作业
    第二阶段考试
    UOJ NOI Round 4
    事件
    爬楼梯
    构造函数输出
    比较版本号大小
  • 原文地址:https://www.cnblogs.com/51api/p/12519117.html
Copyright © 2011-2022 走看看