PowerShell技术文章翻译#2:Invoke-RestMethod -- 把cURL放到你的Shell里

本文介绍了PowerShell 3.0中的Invoke-RestMethod cmdlet,它是用于执行HTTP请求的强大工具,类似于cURL。通过示例,展示了如何获取XML数据并保存到文件,强调了PowerShell对象处理的优势以及Invoke-RestMethod的灵活性,如直接保存原始数据的功能。此外,还提到了Invoke-RestMethod在PowerShell脚本中提高可移植性的潜力。
摘要由CSDN通过智能技术生成

PowerShell -- Invoke-RestMethod: ”内置“在Shell中的cURL

Eric - http://www.discoposse.com/

 

PowerShell 3.0里很棒的一个Cmdlet就是Invoke-RestMethod。有了这个命令,我们在PowerShell Script中就能直接使用HTTP方法来访问网络资源,这些HTTP方法包括Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch. 过去如果你想在PowerShell里做同样的事,一般只能选择一个为Cmd写的命令行工具cURL(Linux里常用的是Wget), 你可以在你的batch脚本或者PowerShell脚本里使用cURL来获取你需要的HTTP资源。当然,cURL很胜任这项工作,不过既然PowerShell 3.0里内置了有同样功能的Invoke-RestMethod, 那么就让我们看看它用起来怎么样吧。

假设我们要从一个网站上获取些XML数据并保存到一个文件中,那么使用cURL的话就是下面这行命令:

curl.exe www.discoposse.com/index.php/feed > C:\Temp\DiscoPosseFeed.xml

这并不是件复杂的操作,cURL完全可以胜任,但是有个问题,curl是个第三方命令行工具,也就是说上面这行命令的可移植性不好,毕竟不是每台电脑上都装有cURL。Invoke-RestMethod不一样,PowerShell 3.0是内嵌在Windows 8/Windows Server 2012里的,只要有PowerShell 3.0,就有Invoke-RestMethod这个内置命令。使用Invoke-RestMethod的话,我们需要下面这行命令:

Invoke-RestMethod -Uri www.discoposse.com/index.php/feed -Method Get

很简单吧,Invoke-RestMethod的参数名和使用语法都会让这行命令更容易被人理解 -- 使用HTTP Get方法来获取指定URI的news feed。Invoke-RestMethod使用的默认方法就是Get,所以我们这个例子里也可以干脆省略"-Method Get"。

现在我们来看看这个命令会返回什么东西:

 

PS C:\Users> Invoke-RestMethod -Uri www.discoposse.com/index.php/feed -Method Get


title       : Linked Mode separation? Veeam to the Rescue
link        : http://www.discoposse.com/index.php/2012/07/31/linked-mode-separation-veeam-to-the-rescue/
comments    : {http://www.discoposse.com/index.php/2012/07/31/linked-mode-separation-veeam-to-the-r
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值