主に使用される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 5.7.20のインストールと設定方法のグラフィックチュートリアルをあなたと共有します1...
目次依存関係をインストールする構成使用1.アイコン検索ページに入る2. 使用したいアイコンの英語名を...
MySQL を学習すると、インストール後にいくつかのデフォルトのデータベースが付属していることに気付...
アリアルArial は、多くの Microsoft アプリケーションとともに配布されるサンセリフ T...
この記事の目的は、最も明確な構造を使用していくつかのコンポーネントの基本機能を実装することです。皆さ...
目次1. Ubuntuソースの変更2. MySQLをインストールする3. 新しいユーザーを作成し、権...
導入以前、ある問題に気づきました。学習ビデオを視聴しているとき、動きが遅すぎる、先生が黒板に書くのに...
<br />今日、新しくなった ChinaUI.com の Web サイトを見たのですが...
疫病のせいで家にこもりきりで、頭がおかしくなりそうなので、パソコンを起動して頭を働かせてみました。今...
目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...
<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...
この記事では、reduce()、filter()、map()、every()、some()、spre...
目次メモを使うコールバックの使用メモを使う親コンポーネントが再レンダリングされると、そのすべての要素...
CSS は Web ページの印刷スタイルを制御します。 CSS を使用して印刷スタイルを制御します。...
目次1. メモリモデルとランタイムデータ領域2. マインドマップと凡例3. オブジェクトはJVMから...