主に使用される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 をコンパイルしてインストールする方法の詳細なチュートリアル
MySQL スロー ログは、MySQL DBA やその他の開発および運用担当者が細心の注意を払う必要...
まず、404 とソフト 404 とは何でしょうか? 404: 簡単に言えば、ユーザーが存在しないペー...
ハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間を移動できるた...
この記事では、vueカードスタイルのクリックして切り替える画像コンポーネントを参考までに紹介します。...
1. ダウンロード1. MySQL msi 公式 Web サイトから最新のダウンロードをクリックす...
1. はじめに● ランダム書き込みではヘッドがトラックを頻繁に変更するため、効率が大幅に低下します。...
目次1. 遅いところはどこですか? 2. 不要なデータをクエリしましたか? 1. 不要なレコードをク...
目次1. 正規表現の作成2. 使用モード2.1 シンプルモードの使用2.2 特殊文字の使用3. 応用...
目次使用EsLintの使用プロフィールを追加するPrettierの使用huskyとlint-stag...
序文JavaScript では、これは関数呼び出しコンテキストです。この動作が非常に複雑であるからこ...
この axios パッケージは、vue3 デモで使用されます。便宜上、element-plus は ...
序文MySQL 8.0 より前は、Oracle、SQL SERVER、PostgreSQL などの他...
開発の背景:最近、私はバッチ データを MySQL データベースにインポートする機能に取り組んでいま...
MySQL の replace と replace into はどちらも頻繁に使用される関数です。...
目次1. 開発者プラットフォームの構成問題を解決する1. 開発者プラットフォームの構成1. 開発者プ...