Functions/Set-HttpClient.ps1
param ( [uri] $Uri ) # HttpClientを利用する準備 if ($null -eq $global:HttpClient) { Add-Type -AssemblyName System.Net.Http $handler = New-Object System.Net.Http.HttpClientHandler $handler.UseCookies = $false $global:HttpClient = New-Object System.Net.Http.HttpClient($handler) } # HttpClientのヘッダーを初期化 $global:HttpClient.DefaultRequestHeaders.Clear() if ($Uri) { # HttpClientのDNSに関する問題への対策 $servicePoint = [System.Net.ServicePointManager]::FindServicePoint($Uri) $servicePoint.ConnectionLeaseTimeout = 60 * 1000 } <# .SYNOPSIS HttpClientのインスタンスをグローバル変数に作成します。 .DESCRIPTION HttpClientのインスタンスをグローバル変数$global:HttpClientに作成します。 .PARAMETER Uri HttpClientでリクエストするURIを指定します。 .INPUTS なし .OUTPUTS なし .EXAMPLE PS C:\>Set-HttpClient -Uri 'https://www.google.com/' PS C:\>$httpHeader = $global:HttpClient.GetAsync('https://www.google.com/', 1) この例では、HttpClientのインスタンスを作成し、Googleの検索ページへリクエストを送ってHttpヘッダを取得します。 #> |