接口-簽名Sign-Python寫法


接口-簽名Sign-Jmeter寫法

https://www.cnblogs.com/zibinchen/p/12879710.html

 

實現目標

/v1/shippingtickets/inbound/departure 發貨接口 POST請求

 

需要進行簽名校驗 【X-Sign】

 

Content-Type: application/json; charset=UTF-8
X-Timestamp: 1589297138920
X-Nonce: 93295642
X-Sign: 2a76a7d2ec34760afb7f4f3ff5a02ef3
X-Client-Id: KT071101

 

傳參:{"ticketNo":"HCSP202005120006","trackingNumber":"SF1589297133080","chargerSerialNum":"SF1589297133080","shippingComment":"abc"}

 

sign是由【傳參+時間戳+隨機數+"cM5qa0Xv9G868G"】轉成MD5碼

實例

import time
import requests
import random
import hashlib


def type_delivery(self,shippingNo):
  url = 'https://develop.preview.cn/smamo-home-charging-ticket/v1/shippingtickets/inbound/departure'
  Timestamp = str(int(time.time() * 1000))
  Nonce = str(random.randint(10000, 99999))
  ClientId = "KT071101"
  trackingNumber = "SF" + Timestamp
  a = '{"ticketNo": "%s", "trackingNumber": "' % shippingNo
  b = '%s", "chargerSerialNum": "' % trackingNumber
  c = '%s", "shippingComment": "abc"}' % trackingNumber
  d = '%scM5qa0Xv9G868G' % Nonce
  src = a + b + c + Timestamp + d  # 注意冒號:和逗號,后要留空格
  # print(src)
  m5 = hashlib.md5()
  m5.update(src.encode("utf-8"))
  Sign = str(m5.hexdigest())
  # print(Sign)
  header = {
	"Content-Type": "application/json; charset=UTF-8",  # application/json; charset=UTF-8
	"X-Timestamp": Timestamp,
	"X-Nonce": Nonce,
	"X-Client-Id": ClientId,
	"X-Sign": Sign
	}
  # print(header)
  data = {"ticketNo": shippingNo, "trackingNumber": trackingNumber, "chargerSerialNum": trackingNumber, "shippingComment": "abc"}
  result = requests.post(url, json=data, headers=header)
  print(result.json())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM