在PowerShell中使用curl调用Spotify API时遭遇语法解析错误
解决PowerShell调用Spotify API的curl错误
错误原因
PowerShell里的curl是Invoke-WebRequest的别名,并非系统原生的curl工具,因此不支持--url、--header这类curl风格的命令参数;另外你使用了bash风格的续行符\,而PowerShell的正确续行符是反引号`,这两个问题共同导致了语法错误。
两种解决方法
方法1:调用原生curl工具
Windows 10及以上系统自带原生curl,直接用curl.exe代替curl,同时替换续行符:
curl.exe --request GET ` --url "https://api.spotify.com/v1/search?q=Lilbaby&type=artist" ` --header "Authorization: Bearer BQCr8A...QoBCa4"
方法2:使用PowerShell原生命令(推荐)
用Invoke-RestMethod(更适配PowerShell环境,返回结果直接是可操作对象):
Invoke-RestMethod -Uri "https://api.spotify.com/v1/search?q=Lilbaby&type=artist" ` -Headers @{ "Authorization" = "Bearer BQCr8A...QoBCa4" } ` -Method Get
若需要查看原始响应内容,也可使用Invoke-WebRequest:
Invoke-WebRequest -Uri "https://api.spotify.com/v1/search?q=Lilbaby&type=artist" ` -Headers @{ "Authorization" = "Bearer BQCr8A...QoBCa4" } ` -Method Get
内容的提问来源于stack exchange,提问作者The Dev
相关产品推荐
相关产品推荐

