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 Komponente zur Leistungsoptimi...
Mein Chef hatte mich gebeten, ein Programm zu ers...
Inhaltsverzeichnis 1. Einführung in UDP und Linux...
Durch die sogenannte Sliding Door-Technologie läs...
1. Überprüfen Sie den Zeichensatz der Datenbank D...
Inhaltsverzeichnis Vorwort 1. Einführung in einma...
Vorwort Normale Benutzer definieren geplante Cron...
Der Tomcat-Server ist ein kostenloser und quellof...
Was ist eine Bindung? NIC-Bond ist eine Technolog...
Das Datenbankverwaltungssystem MariaDB ist ein Zw...
Dieser Artikel beschreibt, wie man die PHP-Curl-E...
Kürzlich wurde die neue Anforderung „Front-End-Ca...
In manchen Vorstellungsgesprächen werden häufig F...
Inhaltsverzeichnis Überblick 1. useState 1.1 Drei...
Notieren Sie die Probleme, die Sie für andere lös...