接口-簽名Sign-Jmeter寫法


接口-簽名Sign-Python寫法

https://www.cnblogs.com/zibinchen/p/13519774.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":"感謝技術支持,總算發貨成功了"}

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

 

實例

用自定義變量,把參數變成2部分

 

 aa:    {"ticketNo":"

bb:    ","trackingNumber":"SF${__time(,)}","chargerSerialNum":"SF${__time(,)}","shippingComment":"感謝技術支持,總算發貨成功了"}

用Beanshell Sameple,使用java代碼生成sign

beanshe內置變量:https://www.cnblogs.com/zibinchen/p/14128412.html

import static java.lang.Math.*;
import org.apache.commons.codec.digest.DigestUtils;

Long a = System.currentTimeMillis(); // 當前時間戳
String Timestamp = String.valueOf(a);
log.info("debug info {}",a);


final double d = Math.random();
final int b = (int)(d*100000000);
String Nonce = String.valueOf(b);
log.info("debug info2 {}",b);

String c = vars.get("aa")+vars.get("ticketNo")+vars.get("bb")+a+b+"E92EU399R3R3R3";
log.info("debug info3 {}",c);

//String str = c;  //要加密的字符串
String md5_after = DigestUtils.md5Hex(c);   // md5加密

log.info("debug info4 {}",md5_after);
vars.put("Timestamp",Timestamp);
vars.put("Nonce",Nonce);
vars.put("Sign",md5_after);

添加HTTP信息頭管理器

 

 

 


免責聲明!

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



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