获取状态400后,我正在尝试打印响应正文。
try {
if ($Responses = (Invoke-WebRequest @Param -ErrorAction Stop)) {
$StatusCodes = $([int]$Responses.BaseResponse.StatusCode)
}
Write-Host ("State code : " + $StatusCodes)
} catch [System.Net.WebException] {
$StatusCodes = $_.Exception.Response.StatusCode.Value__;
$Messages = (($_.ErrorDetails.Message) | ConvertFrom-Json).Message;
Write-Host ("State code : " + $StatusCodes);
Write-Host ("Message: " + $Messages)
}
我的代码仅适用于状态代码。我要打印错误响应正文
{
"status": "Failed",
"warnings": {
"errorCode": ",
"errorDesc": " "
}
}
答案 0 :(得分:1)
错误响应似乎没有您期望的那种形式。如果您想要类似的东西,则需要自己构建。
try {
...
} catch [Net.WebException] {
[PSCustomObject]@{
'status' = 'Failed'
'warnings' = @{
'errorCode' = $_.Exception.Response.StatusCode.value__
'errorDesc' = $_.Exception.Message
}
} | ConvertTo-Json
}