Powershell 使用 NTLM 调用 WebRequest 进行发布

问题描述 投票:0回答:1

初始问题

我如何使用 Powershell 执行 Invoke-WebRequest 或类似操作,以便使用 NTLM 身份验证,同时还为帖子提供正文。

例子

下面的代码示例是我使用调用 Web 请求并将响应输出到 .json 文件的示例帖子。示例中未包含用户名和密码变量。

$myURL = https://example.blah.etc
$params = @" {""EXAMPLE1":"STUFF"} "@ 

$Headers = @{ Authorization = "Basic {0}" -f [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $Username,$Password))) }


Invoke-WebRequest -Uri $myURL  -Headers $Headers -Method POST -ContentType "application/json" -Body  $params  | Select-Object -ExpandProperty Content > "C:\output.json"

更新

使用 -UseDefaultCredentials 仅适用于获取,不适用于帖子。



错误响应

远程服务器返回错误:(401) Unauthorized

rest powershell ntlm
1个回答
16
投票

只需使用

-UseDefaultCredentials
.

尝试操纵 NTLM 的标头是一项艰巨的工作。这是一种痛苦的挑战反应。让 PS 完成工作...

© www.soinside.com 2019 - 2024. All rights reserved.