Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

wgetでセッションを引き継いでアクセスする

なんかスマートな方法じゃないですが、次のような感じでできます。

#!/bin/sh
COOKIE_FILE=cookies.log

wget --save-cookies=$COOKIE_FILE \
     --keep-session-cookies \
     -O /dev/null \
     http://example.com/path/to/create/session

wget --load-cookies=$COOKIE_FILE \
     -O page.html \
     https://example.com/path/to/session/required/page

\rm -f $COOKIE_FILE

セッションを発行するURLに対しては、

  • --keep-session-cookiesオプションでセッションCookieを保持することを宣言
  • そのCookieを--save-cookiesオプションで指定したファイルに保存

セッションが必要なURLに対しては、

  • 保存したCookieを--load-cookiesオプションで指定したファイルから読み込んでリクエス

という具合です。
もっと簡単な方法がありそうなのですが、知っていたら教えてください><