0

我尝试在 Windows 中使用带有 powershell 的 Invoke-WebRequest 方法执行 API,但它返回了以下消息:

Invoke-WebRequest : {"message":"缺少 '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

有人可以帮助我吗?

提前致谢,

4

1 回答 1

0

为获得一致的帮助,最好准确说明您尝试联系的 API。看着端口,似乎是为 Deep Security 准备的。错误消息告诉您标头中缺少“api-version”参数,幸运的是它还为您提供了预期值(v1)!

如果 API 对 Deep Sec 有效,您还必须在“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
于 2020-05-02T14:06:17.477 回答