Задайте заголовок хоста при использовании метода invoke-restmethod

По какой-то причине это не работает

Invoke-RestMethod -Uri "http://localhost" -Headers @{"Host"="web.domain.com"}

Я получаю сообщение об ошибке

The 'Host' header must be modified using the appropriate property or method

Но я не могу найти способ или свойство о том, как это сделать.

Спасибо

Ответ 1

Для записи я работал вокруг проблемы с помощью WebRequest

$bytes = [system.Text.Encoding]::UTF8.GetBytes("key=value")
$web = [net.WebRequest]::Create("http://localhost") -as [net.HttpWebRequest]
$web.ContentType = "application/x-www-form-urlencoded"
$web.Host = "web.domain.com"
$web.Method = "POST"
$web.ContentLength = $bytes.Length
$stream = $web.GetRequestStream()
$stream.Write($bytes,0,$bytes.Length)

Ответ 2

Это ошибка, которая была исправлена ​​в PowerShell версии 4.0:

C:\PS> (irm http://localhost -Headers @{Host='web.domain.com'}).html

xmlns                                   head                                    body
-----                                   ----                                    ----
http://www.w3.org/1999/xhtml            head                                    body