1

私のbashスクリプトは次のことを行っています:

curl -k -s -c gv.cookies https://accounts.google.com/ServiceLogin -F Email=something@gmail.com -F Passwd=somepassword -F service=grandcentral

これはうまくいくようです。Cookie ファイルが作成され、出力を精査すると、確かにログインしたと見なされます。

ただし、次にこれを行うとき:

curl -k -s -b gv.cookies https://www.google.com/voice/

予期した Google Voice マークアップではなく、「一時的に移動された」ページが表示されます。

Cookie を正しく使用するための curl のパラメーターが不足していますか? 誰かが私を正しい方向に向ける必要があるので、私はそれを修正する必要はありません。

4

1 に答える 1

1

-b&-Lフラグを追加する必要があります。

curl \
    -L \
    -k \
    -s \
    -c gv.cookies \
    -b gv.cookies \
    -F Email=something@gmail.com \
    -F Passwd=somepassword \
    -F service=grandcentral \
    https://accounts.google.com/ServiceLogin

-L, --場所

(HTTP/HTTPS) 要求されたページが別の場所に移動したことをサーバーが報告した場合 (Location: ヘッダーと 3XX 応答コードで示されます)、このオプションにより、curl は新しい場所で要求をやり直します。

-b, --cookie

(HTTP) データを Cookie として HTTP サーバーに渡します。これはおそらく、「Set-Cookie:」行でサーバーから以前に受信したデータです。データは「NAME1=VALUE1; NAME2=VALUE2」の形式である必要があります。

不十分な場合は、例を挙げて、を変更してみてください。

于 2012-10-23T21:55:18.547 に答える