json - curl 命令无法传递 bash 参数

标签 json bash curl

所以我是 curl 的新手,我正在尝试编写一个 bash 脚本,我可以运行它来下载文件。所以我从身份验证开始,然后发出 POST 请求下载。我得到了一个 Foo_ID,我在其中使用 bash 进行解析并设置为一个参数。然后我尝试通过下载 URL 使用 GET 某些 Foo 数据。我遇到的问题是,每当我传入从 POST 响应解析的参数时,我什么也得不到。这是我正在做的一个例子。

#!/bin/bash
curl -b cookies -c cookies -X POST @login_info -d "https://foo.bar.com/auth"
curl -b cookies -c cookies -X POST @Foo_info -d "https://foo.bar.com/foos" > ./tmp/stuff.t
myFooID=`cat ./tmp/stuff.t |grep -Po '"foo_id:.*?",'|cut -d '"' -f 4`
curl -b cookies -c cookies "http://foo.bar.com/foo-download?id=${myFooID}" > ./myFoos/Foo1.data

我已回显 myFooID 以确保它是正确的。我还回显了“https://foo.bar.com/foo-download?id=${myFooID}”,它正确显示了我需要的 URL。任何人都可以像我说的那样帮助我解决这个问题,我是使用 curl 的新手并且对使用 bash 命令有点生疏。

最佳答案

所以我已经解决了这个问题。问题是在为 Foo 发帖后,我没有给足够的时间来创建我的 foo,然后再尝试下载它。我在最后两个 curl 命令之间添加了一个 sleep 命令,现在它工作得很好。我要感谢 Dennis Williamson 帮助我清理我的代码,这让我理解了我的问题。我在我的办公 table 上为他创建了一个神龛。

关于json - curl 命令无法传递 bash 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10842310/

相关文章:

python - 如何从 python 调用 shell 脚本函数/变量?

linux - 如何根据日志消息重新启动脚本

php - Javascript 对 PHP、cURL 的值(value)

javascript - react 并表达

javascript - 第 1 行出现 JSON 解析错误,期望 '{' 、 '['

arrays - 如何使用 Jolt 将 n 个对象的 json 数组展平?

linux - 创建一个 bash 脚本,为文件中的每个名称创建一个文件夹

c++ - 在尝试连接时取消 curl_easy_perform

xml - 为什么 curl 在 HTTP PUT 中的消息正文之前发送命令行?

iphone - Objective-C 的 JSON 解析器比较(JSON 框架、YAJL、TouchJSON 等)