py_*_*bie 1 powershell curl escaping powershell-3.0
我正在尝试使用powershell运行curl命令,如下所示:
$command=".\curl.exe -k -X POST --data @login.txt -H ""Content-Type:application/json;charset=utf-8"" https://myserversfqdn:4443/ControlPoint/api/v1/login"
$res= Invoke-Expression $command
它给出了一个错误,说splatting operator @不能用于引用表达式中的变量..所以我在@ login.txt之前添加一个反引号..
$command=".\curl.exe -k -X POST --data '@login.txt -H ""Content-Type:application/json;charset=utf-8"" https://myserversfqdn:4443/ControlPoint/api/v1/login"
$res= Invoke-Expression $command
现在它给我一个错误,说表达式缺少一个终结符'(反引号)..我迷失了如何在这个命令中传递@字符?任何指导都非常感谢
看起来你更像是使用单引号字符'而不是反引号:
`
(注意,反引号通常与〜字符在同一个键上.)
但是你的回答是一半,你也可以将整个参数用单引号括起来将它作为未解析的字符串传递:
$command=".\curl.exe -k -X POST --data '@login.txt' -H ""Content-Type:application/json;charset=utf-8"" https://myserversfqdn:4443/ControlPoint/api/v1/login"
Run Code Online (Sandbox Code Playgroud)