PowerShellでは、非同期通信を実現するために、 System.Net.Http.HttpClient
クラスを使用することができます。 HttpClient
クラスは、HTTPリクエストを送信する機能を提供するため、Web APIに対して非同期で通信を行うことができます。
以下は、非同期通信を行うPowerShellスクリプトの例です。
Add-Type -AssemblyName System.Net.Http # HttpClientオブジェクトの作成 $httpClient = New-Object System.Net.Http.HttpClient # 非同期で通信するためのタスクの作成 $task = $httpClient.GetAsync("https://example.com") # タスクが完了するまで待機する while (-not $task.IsCompleted) { Start-Sleep -Milliseconds 100 } # レスポンスの取得 $response = $task.Result # レスポンスボディの表示 $response.Content.ReadAsStringAsync().Result
この例では、 HttpClient
クラスの GetAsync
メソッドを使用して、Web APIにHTTP GETリクエストを送信しています。 GetAsync
メソッドは、HTTPリクエストを非同期で送信し、 Task<System.Net.Http.HttpResponseMessage>
オブジェクトを返します。
Task
オブジェクトが完了するまで、 while
ループで待機します。タスクが完了すると、 Result
プロパティを使用してレスポンスを取得し、レスポンスボディを表示します。