使用Invoke-WebRequest显示所有内容

时间:2016-11-20 09:06:18

标签: powershell curl

所以我决定开始使用PowerShell而不是Command Prompt。我想运行org.sonarsource.java:sonar-java-plugin。然后,非常不同的输出会发现provided是PowerShell中curl的别名。

以与真实curl相同的方式使用PowerShell Invoke-WebRequest,我只会显示部分内容。

我已经看到我可以将PowerShell curl的输出放入变量中,然后使用curl显示所有内容,但这似乎比真正的curl更多。< / p>

是否可以直接显示所有内容?我无法在帮助中看到一个。

3 个答案:

答案 0 :(得分:29)

curl命令行实用程序不同Invoke-WebRequest返回一个具有各种属性的对象,其中所请求文档的内容只有一个。您可以通过扩展属性来在单个语句中获取内容:

Invoke-WebRequest 'http://www.example.org/' | Select-Object -Expand Content

或通过点符号获取属性值,如下所示:

(Invoke-WebRequest 'http://www.example.org/').Content

或者,您可以使用curl的Windows端口:

& curl.exe 'http://www.example.org/'

使用其扩展名调用该程序,以区别于curl的别名Invoke-WebRequest

答案 1 :(得分:1)

这样的东西?

$res=Invoke-WebRequest "https://www.google.fr/" 


#for look html of body
$res.ParsedHtml.body.innerHTML

#for look text of body
$res.ParsedHtml.body.innerText

答案 2 :(得分:0)

好吧,如果你对额外打字感到烦恼,这是实现这一目标的最短途径(好吧,至少我能想到):

(iwr google.tt).content