Invoke-RestMethod 在 Powershell 授权问题中 (header)
Invoke-RestMethod In Powershell Authorization Issue (header)
我正在尝试通过 PS 使用 Invoke-RestMethod 对我们的 Netbox 环境进行基本 GET。我正在使用来自 netbox 的 API 令牌并将其放入授权 header 中,但无论我如何尝试,我都会从 Powershell 获得 "Authentication credentials were not provided"。我很茫然,因为这通过 Postman 工作得很好。
$APIKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" (removed)
$Headers = @{}
$Headers.Add("Authorization", "Token $APIKey")
$Headers.Add("Content-Type", "application/json")
$Headers.Add("Accept", "application/json")
$URI = "https://dcim.xxxxxxx.net/api/dcim/devices"
$Test = Invoke-RestMethod -Uri $URI -Headers $Headers
我尝试过以多种不同的方式格式化 header,对内容进行硬编码只是为了测试,但无济于事。
结果是 Netbox nginx 上的重定向 (301) 和 Postman 在 URI 中添加尾随“/”而没有在请求预览中显示这一事实的组合。 Nginx 在收到它作为重定向时添加了“/”,然后剥离了 header(正如预期的那样)。我只需要添加尾随的“/”就可以了。 (叹)。
我正在尝试通过 PS 使用 Invoke-RestMethod 对我们的 Netbox 环境进行基本 GET。我正在使用来自 netbox 的 API 令牌并将其放入授权 header 中,但无论我如何尝试,我都会从 Powershell 获得 "Authentication credentials were not provided"。我很茫然,因为这通过 Postman 工作得很好。
$APIKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" (removed)
$Headers = @{}
$Headers.Add("Authorization", "Token $APIKey")
$Headers.Add("Content-Type", "application/json")
$Headers.Add("Accept", "application/json")
$URI = "https://dcim.xxxxxxx.net/api/dcim/devices"
$Test = Invoke-RestMethod -Uri $URI -Headers $Headers
我尝试过以多种不同的方式格式化 header,对内容进行硬编码只是为了测试,但无济于事。
结果是 Netbox nginx 上的重定向 (301) 和 Postman 在 URI 中添加尾随“/”而没有在请求预览中显示这一事实的组合。 Nginx 在收到它作为重定向时添加了“/”,然后剥离了 header(正如预期的那样)。我只需要添加尾随的“/”就可以了。 (叹)。