ニコ動ログイン部分の不具合改修

自家製のニコ動のCrawlerがログインの認証でこけてたので改修した。

おかしかった部分はcookieにデータが保存されていなかった点。
なんでだろうとコードを見ていたらおかしいところは無かったのだが、
昔作った代物なのでreferrerの設定などが何もなかった。

なので今回の改修で以下の点を加えました。

  1. 最初にTOPページ表示
  2. TOPページのreferrer追加

コードはこんな感じ

sub login {
    my $agent = sprintf(
        qq{%s; %s},
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)',
        'nicovideoCrawler(Twitter: TwitterAccount)',
    );
    my $ua = LWP::UserAgent->new('agent' => $agent);
    $ua->cookie_jar(
        HTTP::Cookies->new( file => "./cookie.txt", autosave => 1 )
    );
    $ua->get('http://com.nicovideo.jp/');

    my %post = (
        mail => 'mailAddress',
        password => 'Password'
    );
    my $request = POST(
        "https://secure.nicovideo.jp/secure/login?site=community",
        [%post]
    );
    $request->referer('http://com.nicovideo.jp/');
    $ua->request($request);

    return $ua;
}