PowerShell利用Curl发送请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerShell利用Curl发送请求相关的知识,希望对你有一定的参考价值。
参考技术A PowerShell能干什么呢?PowerShell首先是个Shell,定义好了一堆命令与操作系统,特别是与文件系统交互,能够启动应用程序,甚至操纵应用程序;第二,PowerShell允许将几个命令组合起来放到文件里执行,实现文件级的重用,也就是说有脚本的性质;第三,PowerShell能够能够充分利用.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的、自动化的操作。当我们习惯了windows的界面模式就很难转去命令行,甚至以命令行发家的git也涌现出各种界面tool。然而命令行真的会比界面快的多,如果你是一个码农。
接到需求分析bug,需要访问http。那台机器属于product,不允许装postman。我只能手动命令行来发请求。发现了内置的PowerShell中有curl命令。试了半天,总是命令不对,google发现这个curl是冒名顶替的,只是一个Invoke-WebRequest的alias。 参考 。
获取帮助:
get-help invoke-webrequest 或者 get-help invoke-webrequest -online
online参数会打开官方文档 powershell
可以看到curl也是别名,linux的wget也在其中,这样为习惯其他平台的用户提供了方便,但是用法上也稍有区别
基本用法介绍:
查看返回结果
内容筛选
返回结果
示例:
得到如下内容
会发现content内容被截断了,想要获取完整的content,可加参数 | Select -ExpandProperty Content
此时content内容是完整的
在 d:\content.txt 可看到输出的内容
其他用法:
将content内容转为对象 ConvertFrom-json
你可以使用 ConvertTo-Json 转回JSON格式
请求带有token的uri, 其实就是在header中添加authorization对象
到此,接口请求基本够用
执行
没有权限,也是安全机制,可 参考官网
用管理员权限打开powershell,并输入命令,然后选择y
说明:
Restricted 执行策略不允许任何脚本运行。
AllSigned 和 RemoteSigned 执行策略可防止 Windows PowerShell 运行没有数字签名的脚本
正常执行.
怎样像执行一个命令一样执行一个脚本,不用输入脚本的相对路径或者绝对路径,甚至*.ps1扩展名。
那就将脚本的执行语句保存为别名吧:
完美执行.
到此powershell的使用curl发送请求的需求基本满足.
以上是关于PowerShell利用Curl发送请求的主要内容,如果未能解决你的问题,请参考以下文章
php 中使用cURL发送get/post请求,上传图片,批处理
php 中使用cURL发送get/post请求,上传图片,批处理