下载需要带有cURL的令牌的文件时出错

下载需要带有cURL的令牌的文件时出错,curl,firebase-storage,Curl,Firebase Storage,我正在尝试使用生成的公共链接,通过cURL从Firebase存储下载.aac音频文件 如果将URL粘贴到web浏览器中,文件将在浏览器中正确播放。但如果我使用以下命令之一下载它: curl -O https://firebasestorage.googleapis.com/v0/b/<PROJECT_NAME>.appspot.com/o/<FILE_NAME>.aac?alt=media&token=<TOKEN> curl -O https://

我正在尝试使用生成的公共链接,通过cURL从Firebase存储下载.aac音频文件

如果将URL粘贴到web浏览器中,文件将在浏览器中正确播放。但如果我使用以下命令之一下载它:

curl -O https://firebasestorage.googleapis.com/v0/b/<PROJECT_NAME>.appspot.com/o/<FILE_NAME>.aac?alt=media&token=<TOKEN>

curl -O https://firebasestorage.googleapis.com/v0/b/<PROJECT_NAME>.appspot.com/o/<FILE_NAME>.aac -H "Authorization: <TOKEN>"
curl-Ohttps://firebasestorage.googleapis.com/v0/b/.appspot.com/o/.aac?alt=media&token=
旋度-Ohttps://firebasestorage.googleapis.com/v0/b/.appspot.com/o/.aac -H“授权:
它下载一个包含以下文本的文件:

{“错误”:{ “代码”:403, “消息”:“权限被拒绝。无法执行此操作”}


是否有其他方法可以传递令牌并下载文件?

您的浏览器中可能还有一些授权cookie,因此您在URL中看不到它们。您应该检查DevTools中的请求头以查找此类cookie。您也可以简单地将请求复制为curl,以包含浏览器发送的所有内容,包括cookies:@TobiasK谢谢您的建议!我将请求复制为curl,添加了-O标志,现在它只下载一个空文件。这是在devtools中复制的完整请求:。还有其他想法吗?添加
-i
使curl转储所有内容,包括标题,可能有提示。@TobiasK此转储包含输出的文件。304而不是403,但仍然没有数据。如果你愿意进一步探索,我很乐意私下分享一个实时链接。否则,请接受其他建议。@TobiasK哇。我缩减了标题(如果修改,则删除
,因为
仍然返回304),并最终转到
curl-O'
,这很有效。结果表明,唯一的区别是URL周围的引号-没有引号失败,引号成功。谢谢你让我找到了正确的方向来解决这个问题!