Hauptsächlich verwendete Postman-Funktionen
Datenverschlüsselung und -entschlüsselung
Verschiedene Parametereinstellungen
Die tatsächlich gesendeten Daten:
Pro-Request-SkriptUm das Skript abzuarbeiten, schauen Sie sich einfach den Code an. Einige häufig verwendete Kapselungsklassen von Skripten werden von Postman gekapselt, wie zum Beispiel:
[Neben dem Code-Schreibfeld gibt es eine von Postman bereitgestellte allgemeine Operationscode-Generierung, die sehr nützlich ist] Spezifischer Code: //Umgebungsvariablenparameter für andere Anfragen festlegen pm.environment.set("lkm-sys-id",pm.request.headers.get("lkm-sys-id")); pm.environment.set("lkm-app-id",pm.request.headers.get("lkm-app-id")); pm.environment.set("lkm-organ-id",pm.request.headers.get("lkm-organ-id")); pm.environment.set("lkm-app-ver",pm.request.headers.get("lkm-app-ver")); // JSON-Parameter für Datensignatur const paramsString = request.url.split('?')[1]; const eachParamArray = paramsString.split('&'); lass Parameter = {}; eachParamArray.fürEach((param) => { const key = param.split('=')[0]; konstanter Wert = param.split('=')[1]; Object.assign(params, {[Schlüssel]: Wert}); }); konsole.log(Parameter); //Datenverarbeitung var requestParams = params; Konsole.log(Anforderungsparameter); // Durch die Schnittstelle definierte Datensignaturverarbeitung var timestamp = Math.round(new Date()); pm.environment.set("Zeitstempel",Zeitstempel); var shuijishu = "XO337hNxWyNsOlDw"; pm.environment.set("shuijishu",shuijishu); // Datensignatur, vereinbart durch die Systemschnittstelle var lkmSign = pm.request.headers.get("lkm-sys-id") + pm.request.headers.get("lkm-app-id") + "1122334455667788" + Zeitstempel + shuijishu + "" ; pm.environment.set("lkmSign",CryptoJS.MD5(lkmSign).toString().toUpperCase()); // =================== Die Verarbeitung der Datensignatur endet====================================== // ======================= Verschlüsselungs- und Entschlüsselungsdaten========================================== /// AES-Datenverarbeitung var aesData = dealWithAesData(requestParams); pm.environment.set("data", aesData); // Dies sind die Daten, die im Screenshot oben gesendet werden müssen./// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓ Häufig verwendete AES-Verschlüsselungs- und Entschlüsselungsmethoden↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ /// // aesData-Datenverarbeitung (Inhaltswörterbuch) Funktion dealWithAesData(Inhalt) { console.log('aesData-Klartext: ' + JSON.stringify(Inhalt)); const key = CryptoJS.enc.Utf8.parse("****************"); const iv = CryptoJS.enc.Utf8.parse("0000000000000000"); const verschlüsselt = CryptoJS.AES.encrypt(JSON.stringify(Inhalt), Schlüssel, { iv: iv, Modus: CryptoJS.mode.CBC, Polsterung: CryptoJS.pad.Pkcs7 }); //CBC returniere encrypted.toString(); } Antwortverarbeitungsskript [Tests]
Spezifischer Code: // Datenverarbeitung zurückgeben var jsonData = JSON.parse(responseBody); var responseData = JSON.parse(decryptResponseData(jsonData.data)); // Datenentschlüsselung let success = responseData['success']; var responseResult = responseData["Daten"]; //Datentoken-Datensatz, der von nachfolgenden Schnittstellen verwendet wird try { let token = Antwortresult["Token"]; pm.environment.set("Token", "Träger "+Token); konsole.log("token: " + token); } fangen (Fehler) { Tests['Erwarte, dass die Antwortdaten ein gültiges Token sind'] = false; Tests [`Antwortdaten: ${responseResult}`] = true; Konsole.Fehler(Fehler); } //Datenprotokoll drucken console.log("jsonData: Das folgende Objekt sind die Antwortdaten") Konsole.log(jsonData); console.log("responseData: Das folgende Objekt ist die erste Ebene der analysierten Daten") console.log(Antwortdaten); console.log("responseResult: Das folgende Objekt ist die zweite Ebene der analysierten Daten") console.log(Antwortergebnis); //Einstellungen der Umgebungsvariablen, die nach der Anmeldung von anderen Schnittstellen verwendet werden. console.log(AntwortResult.AgentId); pm.environment.set("agentId",responseResult.agentId); pm.environment.set("agentCode",responseResult.agentCode); pm.environment.set("agentName",responseResult.agentName); // pm.environment.set("token",responseResult.token); // Assertion festlegen Postman stellt eine gute allgemeine Assertion-Generierung bereit, Sie können Tests ["Business return code=200, success!"] = responseData.code === 200; ausprobieren. /// Entschlüsseln Sie die zurückgegebenen Daten function decryptResponseData(content) { const key = CryptoJS.enc.Utf8.parse("*****************"); const iv = CryptoJS.enc.Utf8.parse("0000000000000000"); const decrypt = CryptoJS.AES.decrypt(Inhalt, Schlüssel, { iv: iv, Modus: CryptoJS.mode.CBC, Auffüllung: CryptoJS.pad.Pkcs7 }); const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); returniere entschlüsseltenStr.toString(); } Das Ergebnis sieht aus wieDie Anforderung zur Simulation der verschlüsselten Schnittstelle sieht ungefähr so aus. Was andere Vorgänge betrifft, müssen Sie diese später lernen. Weitere Informationen zu Anforderungen für die Postman-Login-APP-Schnittstelle finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung zur Konfiguration des Beispielcodes für den Nginx-Webserver
Inhaltsverzeichnis 1. Übersicht 2. Django-Projekt...
<meta http-equiv="x-ua-kompatibel" co...
WeChat-Applet: Einfacher Rechner. Zu Ihrer Inform...
Wann wird die Tabelle eingesetzt? Tabellen werden...
Gespeicherte Datenbankprozeduren DROP-VERFAHREN, ...
Inhaltsverzeichnis Ergebnisse erzielen Einführung...
Inhaltsverzeichnis 1. Komponenten mit Funktionen ...
Mehrere Werte kombiniert anzeigen Nun haben wir d...
1. Grundlegende Umgebung 1. Betriebssystem: CentO...
1. Rufen Sie die Methode der übergeordneten Kompo...
In diesem Artikel wird ein JS-Spezialeffekt vorge...
Zweck: Ermöglichen Sie die gleichzeitige lokale S...
Dieser Artikel fasst hauptsächlich verschiedene P...
Ausrichtungsprobleme wie type="radio" un...
Antd+React+Webpack ist häufig die Standardkombina...