PHPからのポスト

 こんな感じでやってみた。参考にしたのはfslashtのサアラたん日記と、ソースファイル中にもあるレッツPHP!。ただこれを実行するとブラウザの方がログアウトしてしまう・・・。
 次のステップはおうちサーバへの組み込みですな。

function write_hatenadiary($account , $password , $body){
//オリジナルソース http://php.s3.to/tt/cook.phps

require_once "HTTP/Request.php";

//ログイン
// ログインURLセット 
$req =& new HTTP_Request("http://www.hatena.ne.jp/register"); 
// フォームなのでPOST 
$req->setMethod(HTTP_REQUEST_METHOD_POST); 
// POSTデータセット 
$req->addPostData("mode", "login");
$req->addPostData("key", $account);
$req->addPostData("password", $password);
$req->addPostData("autologin", "on");
// 送信 
$response = $req->sendRequest(); 
if (PEAR::isError($response)) { 
  // エラー表示 
  echo $req->getMessage(); 
} else { 
  // クッキーを配列で取得 
  $loginCookies = $req->getResponseCookies(); 
}

//書き込み
$req =& new HTTP_Request("http://d.hatena.ne.jp/".$account."/edit"); 
$req->setMethod(HTTP_REQUEST_METHOD_POST); 

// POSTデータセット 
$req->addPostData("mode","enter");
$req->addPostData("dummy", "1");
$req->addPostData("timestamp", "");
$req->addPostData("date", "21000101");
$req->addPostData("year", date("Y"));
$req->addPostData("month", date("m"));
$req->addPostData("day", date("d"));
$req->addPostData("title", "");
$req->addPostData("body", $body);
$req->addPostData("edit", "この内容を登録する");
// クッキーをセット 
foreach ($loginCookies as $cookie) { 
  $req->addCookie($cookie['name'], $cookie['value']); 
} 

// 送信 
$response = $req->sendRequest(); 

if (PEAR::isError($response)) { 
  // エラー表示 
  $response2 = $req->getMessage(); 
  echo $response2;
} 
}