在64位Windows上运行cURL

Jon*_*ist 39 windows powershell curl

我是cURL的新手,刚刚安装了它,但它似乎只是做了它的感觉.我正在使用我从这里获得的64位版本:http://curl.haxx.se/latest.cgi?curl = win64-ss-spi,其中包含我在此处找到的安装说明:http://guides.instructure.com/m/4214/l/83393-how-do-i-install-and-use-curl-on-a-windows-machine.打开一个新的Powershell窗口我可以使用这样的简单GET请求:

curl http://localhost:3000
Run Code Online (Sandbox Code Playgroud)

但如果我运行POST

curl -d "hello world" http://localhost:3000
Run Code Online (Sandbox Code Playgroud)

它告诉我"Invoke-WebRequest:参数无法处理,因为参数名称'd'不明确.可能的匹配包括:-DisableKeepAlive -Debug."

我试图获得帮助

curl -h or curl --help
Run Code Online (Sandbox Code Playgroud)

给我"Invoke-WebRequest:缺少参数'Headers'的参数.指定'System.Collections.IDictionary'类型的参数,然后再试一次."

正如我所提到的,我是一个cURL新手,但它似乎很奇怪,它可以得到请求,但没有别的.我有什么想法我做错了吗?

Windows 7 64位Powershell版本4

JPB*_*anc 112

您的问题是您没有使用已Curl安装但已调用的CmdLet Invoke-WebRequest.

只需执行:

Remove-item alias:curl
Run Code Online (Sandbox Code Playgroud)

再次测试你的卷曲,然后将它存储在你的个人资料中.

解释是它存在一个本地别名,Invoke-WebRequest它是一个CmdLet,它应该提供一种 curl服务.

  • 现在已经是 2020 年了,这仍然是一个问题。谢谢你! (12认同)
  • 现在已经是 2022 年了,这仍然是一个问题。 (7认同)
  • You can also run executable as god intended: `curl.exe` (5认同)
  • Remove-item命令工作得很好.刚刚运行它,现在cURL正在按照我的预期行事. (3认同)

Pat*_*ick 5

您可以使用命令提示符而不是Windows Powershell执行curl 命令。命令提示符不像Windows Powershell 那样为curl 命令设置别名。

要打开命令提示符,请点击Win + Rcmd在输入框中键入<Enter>