我使用PowerShell Invoke-RestMethod
并希望通过当前登录用户的凭据发送。我正在使用-UseDefaultCredential
开关:
Invoke-RestMethod -Uri $serverUrl -UseDefaultCredential -ContentType "application/xml" -Body '<tags count="1"><tag name="testTag" /></tags>' -Method Put -Verbose
但我一直收到401未经授权的回复。
当我创建一个PSCredentials
对象并通过它时,它可以正常工作。
$creds = Get-Credential -Credential 'someusername'
Invoke-RestMethod -Uri $serverUrl -Credential $creds -ContentType "application/xml" -Body '<tags count="1"><tag name="testTag" /></tags>' -Method Put -Verbose
查看Fiddler我可以看到两个用法都获得了初始值401但-Credential
选项会发送一个带有Authorization
标题的后续请求。
为什么-UseDefaultCredential
没有工作?我还可以通过什么来研究这个问题?
作为参考,这是向TeamCity REST API发送请求。
答案 0 :(得分:0)
某些Web服务器在POST之前需要GET。 我认为它可能与PUT相同,你可以尝试:
imageVarName.src = '';
imageVarName.onload = null;
imageVarName.onerror = null;