PHPでmechanizeもどき

 英語で「php mechanize」で検索掛けたらこのページが見つかった。
SimpleTest documentation for the scriptable web browser component
 キーワード「SimpleTest」で検索して見つけた日本語のこのページも参考にして、greeにログインしてつぶやこうとしてみた。

<?php
require_once('simpletest/browser.php');
    
$browser = &new SimpleBrowser();
$browser->addHeader('User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 ID:20091016092926');

$browser->get('http://gree.jp/?action=login');

$browser->setField('user_mail','nanchara@ezweb.ne.jp');
$browser->setField('user_password','kantara');
$browser->clickSubmit('ログイン');

$browser->get('http://gree.jp/?action=home');
$browser->setFieldById('message','テストですよ');
$browser->clickSubmitById('update-action-send-button');

echo $browser->getContent();
?>

 ログインはできているが、そのあとの書きこみがうまくいっていない。レスポンスを見るとブラウザで表示されている画面のソースと違う。つぶやき部分がない。つぶやきは特定のブラウザの特定のバージョンでしか動作しないらしいので、どうやらブラウザの偽装に失敗しているっぽい。

 レスポンスをローカルファイルに書き出してブラウザで開いてみると、Internet Explorerでログインした時の画面と同じ。上の推測は当たっているようだ。