Загрузка и проверка JSON данных с веб-адреса - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок в powershell и пытаюсь загрузить и проверить json данные из веб-адреса. Этот URL даст статус подключения различных интерфейсов. Я пытаюсь вернуть «1», если какой-либо из статусов тестового соединения равен Fail. Я получаю ошибки при попытке l oop через проанализированные json данные. Ценю вашу помощь по этому вопросу

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$request = 'https://connecttestservices.net/connection-test'
Invoke-WebRequest $request |
ConvertFrom_Json |
foreach ($request in $x) {
    if ( $request.connectionTestStatus -match "FAIL" ) {    
        return 1               
    }   
}

1 Ответ

0 голосов
/ 24 апреля 2020

Я думаю, что в вашем коде есть несколько ошибок. Например, в ConvertFrom- JSON, а также вы говорите foreach ($ request in $ x) {}, но $ x никогда не определяется. Я думаю, что приведенный ниже код должен работать намного лучше:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$request = 'https://connecttestservices.net/connection-test'
$response = Invoke-WebRequest -Uri $request
$response = $response | ConvertFrom-Json
if($response.connectionTestStatus -match "FAIL"){    
    return 1
}

Надеюсь, это поможет

...