我正在尝试通过PS使用Invoke-RestMethod对我们的Netbox环境进行基本的GET。我正在使用来自netbox的API令牌并将其放在Authorization标头中,但是无论如何尝试,我都会从Powershell获得“未提供身份验证凭据”。我很茫然,因为通过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
我曾尝试过多种格式化头的方法,只是为了测试而对编码进行硬编码,但无济于事。
答案 0 :(得分:0)
验证是否是Netbox nginx上的重定向(301)和Postman在URI上添加尾部“ /”而未在请求预览中显示的组合。 Nginx收到“ /”作为重定向时添加了“ /”,然后剥离了标头(这是可以预期的)。我只需要添加结尾的“ /”就可以了。 (叹)。