#!/usr/bin/perl
use strict;
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
my $input = join(" ",@ARGV);
my $mail_addr = 'dummy@example.co.jp';
my $password = 'password';
my $login_url = 'https://cp.cocacola.jp/top.php?hn=cp02';
my $regist_url = 'https://cp.cocacola.jp/serial_regist.php?hn=cp02';
my @in = ();
while ($input =~ /^(\d{8})[ \-\.\,]?(\d{8})[ \t]?(.*)$/) {
push @in,($1.",".$2);
$input = $3;
}
my $ua = LWP::UserAgent->new;
$ua->cookie_jar(HTTP::Cookies->new(ignore_discard => 1));
my $response = &process_request($ua,POST($login_url,[ 'id' => $mail_addr, 'password' => $password, 'login[]' => 1 ]));
my $point = &get_point($response);
print "Current ".$point."\n";
foreach my $num(@in) {
my ($in1,$in2) = split(",",$num);
print $in1."-".$in2." ";
$response = &process_request($ua,POST($regist_url,[ 'serial_1-1' => $in1, 'serial_1-2' => $in2, 'send[]' => 1 ]));
$point = &get_point($response);
print $point."\n";
}
sub process_request {
my ($ua, $request) = @_;
my $res = $ua->request($request);
while ($res->is_redirect) {
my $url = $res->header('Location');
$res = $ua->request(HTTP::Request->new(GET => $url));
}
return $res;
}
sub get_point {
my ($response) = @_;
my $res = "";
if ($response->content =~ /\<dd id\=\"currentPoint\"\>\<span\>(.*?)\<\/span\>\<\/dd\>/) {
$res = $1;
}
$res;
}