ホーム > 日記 > mixiの足跡atomフィードを取得してみる

mixiの足跡atomフィードを取得してみる

WSSE使ってるとのことで、はてなの記事やCPAN眺めながら作ってみた。
エラー処理とかしたほうがいいと思うよ。


<?php
require_once 'HTTP/Request.php';

class MyRequest extends HTTP_Request
{
    function setWsseAuth($user, $pass)
    {
        $now = date(DATE_ATOM, $_SERVER['REQUEST_TIME']);
        $nonce = sha1(md5($_SERVER['REQUEST_TIME']));
        $nonce_enc = base64_encode($nonce);
        $pass_digest = base64_encode(pack('H*', sha1($nonce . $now . $pass)));

        $auth_wsse = sprintf('UsernameToken Username="%s", PasswordDigest="%s", Created="%s", Nonce="%s"',
                            $user,
                            $pass_digest,
                            $now,
                            $nonce_enc);
        $this->addHeader('Authorization', 'WSSE profile="UsernameToken"');
        $this->addHeader('X-WSSE', $auth_wsse);
    }
}

$id = 'id';
$mail = 'mail';
$pass = 'pass';

$request = new MyRequest("http://mixi.jp/atom/tracks/r=2/member_id={$id}");
$request->setWsseAuth($mail, $pass);
if ($request->sendRequest() && $request->getResponseCode() == 200) {
    header('Content-type: ' . $request->getResponseHeader('content-type'));
    print $request->getResponseBody();
}
?>

カテゴリー: 日記 タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。