主に使用されるPostmanの機能
データの暗号化と復号化
さまざまなパラメータ設定
実際に送信されたデータ:
プロリクエストスクリプトスクリプトを処理するには、コードを見るだけです。 次のような、スクリプトのよく使用されるカプセル化クラスは、Postman によってカプセル化されます。
[コード記述ボックスの横には、Postmanが提供する一般的な操作コード生成があり、非常に便利です] 特定のコード: // 他のリクエストの環境変数パラメータを設定します 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パラメータ const paramsString = request.url.split('?')[1]; 各ParamArrayをparamsString.split('&'); パラメータを {} とします。 各ParamArray.forEach((param) => { 定数キー = param.split('=')[0]; 定数値 = param.split('=')[1]; Object.assign(params, {[キー]: 値}); }); console.log(パラメータ); //データ処理 var requestParams = params; console.log(リクエストパラメータ); // インターフェイスによって定義されたデータ署名処理 var timestamp = Math.round(new Date()); pm.environment.set("タイムスタンプ",タイムスタンプ); var shuijishu = "XO337hNxWyNsOlDw"; pm.environment.set("shuijishu",shuijishu); // システムインターフェースによって合意されたデータ署名 var lkmSign = pm.request.headers.get("lkm-sys-id") + pm.request.headers.get("lkm-app-id") +「1122334455667788」 + タイムスタンプ + 拾遺集 + "" ; pm.environment.set("lkmSign",CryptoJS.MD5(lkmSign).toString().toUpperCase()); // =================== データ署名処理が終了します===================================== // ====================== 暗号化および復号化データ============================================== /// aesdata 処理 var aesData = dealWithAesData(requestParams); pm.environment.set("data", aesData); // これは上記のスクリーンショットで送信する必要のあるデータです。/// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓ よく使用される AES 暗号化および復号化方式↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ /// // aesData データ処理 (コンテンツ辞書) 関数dealWithAesData(コンテンツ) { console.log('aesData プレーンテキスト: ' + JSON.stringify(content)); const キー = CryptoJS.enc.Utf8.parse("****************"); const iv = CryptoJS.enc.Utf8.parse("0000000000000000"); const 暗号化 = CryptoJS.AES.encrypt(JSON.stringify(content), key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); //CBC 暗号化された.toString() を返します。 } レスポンス処理スクリプト [テスト]
特定のコード: // データ処理を返す var jsonData = JSON.parse(responseBody); var responseData = JSON.parse(decryptResponseData(jsonData.data)); // データの復号化 let success = responseData['success']; var responseResult = responseData["データ"]; //後続のインターフェースで使用されるデータトークンレコード try { token = responseResult["token"]とします。 pm.environment.set("token", "Bearer "+token); console.log("トークン: " + トークン); } キャッチ (エラー) { tests['応答データが有効なトークンであることを期待します'] = false; tests[`レスポンスデータ: ${responseResult}`] = true; コンソールエラー(err); } //データログ出力 console.log("jsonData: 次のオブジェクトは応答データです") コンソールにログ出力します。 console.log("responseData: 次のオブジェクトは解析されたデータの最初のレイヤーです") console.log(応答データ); console.log("responseResult: 次のオブジェクトは解析されたデータの第 2 層です") console.log(応答結果); // ログイン後に他のインターフェースで使用される環境変数設定。 console.log(応答結果.エージェントID); pm.environment.set("エージェントID",responseResult.エージェントID); pm.environment.set("エージェントコード",responseResult.エージェントコード); pm.environment.set("エージェント名",responseResult.エージェント名); // pm.environment.set("token",responseResult.token); // アサーションを設定します。Postman は優れた一般的なアサーション生成機能を提供しており、次を試すことができます。tests["Business return code=200, success!"] = responseData.code === 200; /// 返されたデータを復号化する function decryptResponseData(content) { const キー = CryptoJS.enc.Utf8.parse("*****************"); const iv = CryptoJS.enc.Utf8.parse("0000000000000000"); const decrypt = CryptoJS.AES.decrypt(コンテンツ、キー、{iv: iv、モード: CryptoJS.mode.CBC、パディング: CryptoJS.pad.Pkcs7 }); const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); decryptedStr.toString() を返します。 } 結果は次のようになります暗号化されたインターフェースをシミュレートするためのリクエストは、ほぼこのようなものです。他の操作については、後で学習する必要があります。PostmanログインAPPインターフェースリクエストの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Nginx Webサーバーのサンプルコードの設定方法の詳細な説明
>>: CentOS8 デプロイメント LNMP 環境で mysql8.0.29 をコンパイルしてインストールする方法の詳細なチュートリアル
目次序文1. Ingressの展開と構成2. httpsを使用する序文k8sクラスタサービスがデプロ...
目次クエリの背景1. クエリをいいね2. JSON関数クエリ3. 共同インデックスクエリ4. 全文イ...
MySQL タイム ブラインド インジェクションの 5 つの遅延方法 (PWNHUB の予期しない解...
まず、次の質問について考えてみましょう。このような膨大な量のデータをデータベースに挿入するには、通常...
これを見た後、あなたにも手ができて、さまざまな美しい小さなしっぽを作れるようになることを保証します!...
ウェブフロントエンドのウェブサイトの気質は感情であり、言葉なしでユーザーを魅了できる感情です。では、...
1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...
Vueボタンコンポーネントのカスタムカプセル化コードは参考用です。具体的な内容は次のとおりです。ボタ...
序文導入Lombok は、Google Guava と同様に便利なツールであり、強くお勧めします。す...
目次背景探検する要約する背景テーブルでは、dataTime フィールドは varchar 型に設定さ...
展示する デザインパスワード強度分析パスワードは数字、文字、特殊記号で構成されていますパスワード: ...
目次序文脱構築記号の役割使い方分割割り当ての適用アプリケーションの簡単な紹介JSONデータを抽出する...
ソケットオプション機能機能: ソケットファイル記述子の属性の読み取りと設定に使用されるメソッド #i...
次のように: docker run -d -p 5000:23 -p 5001:22 --name ...
Vueのメソッドとプロパティ1. 方法使用法 1メソッド: {メソッド名: function(){}...