Invoke-WebRequest: {"message": "Отсутствует заголовок запроса 'api-version'. Пожалуйста, установите этот заголовок со значением поддерживаемой версии API - PullRequest
0 голосов
/ 01 мая 2020

Я пытался выполнить API, используя метод Invoke-WebRequest с powershell в windows, но он возвращает мне следующее сообщение:

Invoke-WebRequest: {"message": "Missing" Заголовок запроса api-version '. Установите для этого заголовка значение поддерживаемой версии API. Минимальная поддерживаемая версия - v1. Максимальная поддерживаемая версия - v1. "}

ниже, это то, что я установил в своем запросе:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$header = @{
    "X-ApiKeys" = "******2DD1-F002-7059-6138-*****2EEp7mEiWSG86QE="
    "X-Api-Version" = "1"
    "Content-Type" = "application/json"
    "Accept" = "application/json"
}
Invoke-WebRequest -Method Get -Headers $Header -Uri https://127.0.0.1:4119/api/computers?api-version=1

Кто-то может мне помочь, пожалуйста?

Заранее спасибо,

1 Ответ

0 голосов
/ 02 мая 2020

Чтобы получить постоянную помощь, лучше, если вы укажете API, с которым пытаетесь связаться. Глядя на порт, кажется, что это для Deep Security. Сообщение об ошибке говорит о том, что в заголовках отсутствует параметр api-version, и, к счастью для вас, он также дает ожидаемое значение (v1)!

Если API эффективно для Deep Se c, вы также должны установить свой ключ в параметре "api-secret-key" (а не X-ApiKeys):

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$header = @{
    "api-secret-key" = "<your secure key>"
    "api-version" = "v1"
    "Content-Type" = "application/json"
    "Accept" = "application/json"
}
Invoke-WebRequest -Method Get -Headers $Header -Uri https://127.0.0.1:4119/api/computers
...