12

由于某种原因,这不起作用

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

我得到错误

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

但我找不到有关如何执行此操作的方法或属性。

谢谢

4

2 回答 2

19

这是已在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
于 2013-11-13T06:06:44.233 回答
6

作为记录,我使用 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)
于 2013-11-13T14:23:48.200 回答