如何使用Powershell wget输出完整的网页特定内容?

时间:2017-04-26 04:40:13

标签: windows powershell http cmd wget

当我发出命令<table class="table"> <%= for post <- @posts do %> <%= if post.active do %> <tr class="published"> <% else %> <tr class="unpublished"> <% end %> 时,我得到了回复:

powershell.exe wget http://IP_ADDR:8080/config/version/

如上所述,该命令仅显示部分内容,而不显示正常转到地址时返回的内容的完整输出。

我的另一种选择是使用curL,但除了第三方工具之外,我想要一个原生的解决方案。

我的问题是,如何使用wget命令仅显示内容的输出及其完整输出?

1 个答案:

答案 0 :(得分:2)

根据评论,您需要访问.Content.RawContent属性(RawContent包含HTTP标头字段,而内容则不包含。请注意,标题也可用于{{1属性):

.Headers

powershell.exe (wget http://IP_ADDR:8080/config/version/).Content

为了解释正在发生的事情,PowerShell返回的是对象而不是纯文本,这意味着它们就像是具有可以返回/过滤等属性的迷你数据库。您在拨打电话时看到的是默认视图对象属性的子集,它不是所有可用的属性。

要详细了解wget查找powershell.exe (wget http://IP_ADDR:8080/config/version/).RawContent ,这是完整的cmdlet名称(Invoke-WebRequest是其别名)。

另外,如果您的Web调用返回JSON或XML,您可能需要考虑使用wget,因为它将采用JSON或XML并自动将其转换为PowerShell对象(然后您可以进一步使用在PowerShell中操作。)