3

そのため、私はcurlが初めてで、実行できるファイルをダウンロードするbashスクリプトを作成しようとしています。したがって、認証から始めて、ダウンロードを要求する POST を作成します。bash を使用して解析し、パラメーターに設定する Foo_ID が与えられます。次に、ダウンロード URL を介して特定の Foo データを GET しようとします。私が抱えている問題は、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 を echo して、それが正しいことを確認しました。「https://foo.bar.com/foo-download?id=${myFooID}」もエコーしましたが、必要な URL が適切に表示されています。私がcurlの使用に慣れておらず、bashコマンドの使用に少しさびていると言ったように、誰かがこれを手伝ってくれませんか。

4

1 に答える 1

2

だから私は問題を解決しました。問題は、Foo の投稿を行った後、ダウンロードする前に foo を作成するのに十分な時間を与えなかったことです。最後の 2 つの curl コマンドの間に sleep コマンドを追加したところ、完全に機能するようになりました。問題を理解するためにコードをクリーンアップするのを手伝ってくれた Dennis Williamson に感謝します。私は机の上に彼のために祠を作りました。

于 2012-06-01T18:10:31.857 に答える