本サイト/記事は移転しました。

約10秒後にリダイレクトします。

Snoopyではてなにログインする

 curlとかPEAR::HTTP_Request使うよりもお手軽かも。

<?php
error_reporting(E_ALL);
include_once 'Snoopy.class.php';

$account="doroyamada";
$password="nanchara";

$snoopy = new Snoopy;
$url="http://www.hatena.ne.jp/login";
$params = array( 
    "name" => $account, 
    "password" => $password,
    "persistent"    =>  "0",
);

$snoopy->submit($url,$params);
#var_dump($snoopy);

foreach($snoopy->headers as $header){
    if(preg_match('/Set-Cookie: rk=(\w+);/',$header,$temp) == 1){
        $cookies['rk'] = $temp[1];
    }
}

$snoopy->cookies = $cookies;

$snoopy->fetch("http://d.hatena.ne.jp/".$account."/rss");
file_put_contents($account.".rss",$snoopy->results);

?>

 snoopyがどんな要素(?)を持っているんだろうかと思ってvar_dumpしたらうまい具合に表示してくれた(上のスクリプトコメントアウト部分)。
 やりたかったのは、プライベートモードにしているページのRSSだけは公開しようかということ。なんか無駄な労力のような気もするけど。

参考にしたページ
[PHP] Snoopy で Web 巡回ソフトを作る - ひきぷろぐ