如何解决以下错误信息?

问题描述

Invoke-WebRequest:找不到与参数名称“L”匹配的参数。 在行:1 字符:6

  • curl -L -X POST 'https://www.googleapis.com/oauth2/v4/token?
  •  ~~
    
    • CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest],ParameterBindingException
    • FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

解决方法

在 Windows 上,curl 是 PowerShell 的 Invoke-WebRequest cmdlet 的别名,在 PowerShell 提示符中运行 curl 命令时可能会导致问题,因为 curl 的参数和 Invoke-WebRequest 的参数是不一样。这是一个不幸的历史决定,删除起来有些棘手,因为可能有许多脚本依赖于该行为。

要解决,您可以

  • curl 与等效参数一起使用,即
Invoke-WebRequest

Invoke-WebRequest https://www.googleapis.com/oauth2/v4/token -Method Post 不需要 -Lcurl 命令,因为它默认跟随重定向(最多 5 个),但这可以通过 Invoke-WebRequest 参数增加。