Привет, я запускаю следующую команду Invoke-RestMethed в Powershell v4, но выдает ошибку HTTP 406.
Invoke-RestMethod -Method Post -Uri $url -Headers $head -ContentType "application/xml" -Body $body -OutFile output.txt
Я внес следующие изменения в заголовок:
$head = @{"Authorization"="Basic $auth"; "Accept"="*/*"}
Насколько я понимаю, сервер принимает запрос в формате xml, но возвращается в формате JSON, и, возможно, это вызывает проблему? Я попытался изменить заголовок на "Accept" = "application / json", но получил ту же ошибку.
Полная ошибка:
Invoke-RestMethod: HTTP Status 406 - тип Описание сообщения отчета о состоянии Ресурс, идентифицированный этим запросом, способен генерировать только ответы с характеристиками, неприемлемыми в соответствии с заголовками запроса "accept".
$Url = "https://nsxmgr-l-01a.corp.local/api/1.0/nsx/cli?action=execute"
- person user3784080   schedule 13.01.2017Since Accept header could not be specified for neither Invoke-RestMethod nor Invoke-WebRequest in PowerShell V3
Это не относится к PowerShell v4, верно? - person user3784080   schedule 13.01.2017Invoke-WebRequest
. Если вы используетеInvoke-WebRequest
, вам обязательно нужно указать заголовок Accept. Обновление: подтвержденный заголовок принятия работает дляInvoke-RestMethod
в PowerShell V5.1 - person TravisEz13   schedule 13.01.2017