Invoke-RestMethod из нескольких URL-адресов из текстового файла
Нужна помощь с PowerShell скриптом с Invoke-RestMethod через несколько ссылок из текстового файла:
Чего у меня нет и работает для одного сайта:
$username = 'username'
$password = 'password'
$accept = 'application/xml'
$uri = 'https://example.com/ping/id/31'
$headers = @{
"Accept"=$accept
}
$secpwd = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($username, $secpwd)
Invoke-RestMethod -Method Post -Uri $uri -Headers $headers -Credential $credential
Однако нужно сделать это для нескольких ссылок. Любые предложения, как это сделать?
1 ответ
Решение
Предполагая, что вы хотите использовать одно и то же имя пользователя и пароль для каждого URL-адреса, попробуйте что-то вроде этого:
$username = 'username'
$password = 'password'
$accept = 'application/xml'
$headers = @{
"Accept"=$accept
}
$secpwd = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($username, $secpwd)
Get-Content .\file_with_one_url_per_line | ForEach-Object { Invoke-RestMethod -Method Post -Uri $_ -Headers $headers -Credential $credential }
Командлет ForEach-Object будет делать все, что указано в блоке кода, для каждой строки файла, заменяя $_
с линией.