認証が必要なWebサイトからページを取得するための次のコードがあります(Sungard Higher Education認証を使用しています)。
wget --delete-after --save-cookies cookies.txt --keep-session-cookies --post-data 'user=foo&password=bar&uuid=0x123' login.php
wget --load-cookies cookies.txt thepage.com
しかし、問題は2番目のものが機能しないことです。最初のものを実行すると、正常にログインしたと表示されますが、2番目にログインが必要になります。
Chromeの開発者ツールから抽出したHTTP呼び出しから取得したヘッダーごとに--header
を追加して、POST/GET呼び出しをブラウザーの呼び出しとまったく同じに一致させようとしましたが、それでも機能しませんでした。
問題は、認証がCookieベースではなく、wget呼び出しごとに新しいセッションを開いていることだと思います。それが起こらないようにするにはどうすればよいですか(それが起こっている場合)?
私がやりたいのは、HTTPリクエストを送信し、基本的にページに「ナビゲート」することだと思います。これは1回のwget呼び出しだと思いますが、実際にはその方法がわかりません。
--input-file
スイッチを使用してURLを含むテキストファイルをフィードすると、必要な他のすべてのスイッチで1つのwget呼び出し/セッションのみを使用できるようになります。