1 # WWW::SourceForge.JP
\r
3 # This code is under GPL.
\r
8 use HTTP::Request::Common;
\r
13 my $ua_string = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1';
\r
14 my $login_url = 'http://magazine.sourceforge.jp/login.pl';
\r
15 my $logout_url = 'http://magazine.sourceforge.jp/my/logout';
\r
16 my $default_cookies = 'otp_cookies.txt';
\r
19 my $class = shift @_;
\r
21 'useragent' => $ua_string,
\r
22 'cookies_file' => $default_cookies,
\r
24 return bless $self, $class;
\r
29 my $self = shift @_;
\r
30 return $self->{useragent};
\r
34 my $self = shift @_;
\r
35 return $self->{cookies_file};
\r
39 my $self = shift @_;
\r
41 my $ua = LWP::UserAgent->new( 'agent' => $self->useragent, );
\r
42 my $cookie_jar = HTTP::Cookies->new( file => $self->cookies_file, autosave => 1, ignore_discard => 1, );
\r
43 $ua->cookie_jar( $cookie_jar );
\r
49 my $self = shift @_;
\r
50 my $login_name = shift @_;
\r
51 my $password = shift @_;
\r
53 my $ua = $self->lwp_ua;
\r
56 'op' => 'userlogin',
\r
57 'unickname' => $login_name,
\r
58 'upasswd' => $password,
\r
59 'userlogin' => 'ログイン',
\r
61 my $resp = $ua->post( $login_url, $form_data );
\r
65 my $self = shift @_;
\r
67 my $ua = $self->lwp_ua;
\r
68 $ua->get( $logout_url );
\r
72 my $self = shift @_;
\r
74 if ( ! defined $self->{_attach} ) {
\r
75 $self->{_attach} = Otp::Attach->new( $self );
\r
78 return $self->{_attach};
\r