Perl script for checking the balance on account in Foreningssparbanken


The perl library LWP is really powerful. You can have an application behave as a browser with cookies and all.
This is a simple script to fetch the balance of your account at Foreningssprabanken.
Replace your social security number and pin-code.
#!/usr/bin/perl

use LWP::UserAgent;
use HTTP::Cookies;

my $url = {
	start => 'https://www.viainternet.foreningssparbanken.se/bvi/inloggning_noframe_fspa',
	login => 'https://www.viainternet.foreningssparbanken.se/bvi/session_login_fspa',
	loginpassword => 'https://www1.viainternet.foreningssparbanken.se/bvi/session_login_privat_password_fspa'
};

my $vars = {
	persnr1 => "801221",    # First 6
	persnr2 => "1234",      # Last 4
	pin => "yourpin">       # Your pin code
};

my $cookie_jar = HTTP::Cookies->new;
my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)');
$ua->cookie_jar( $cookie_jar );
push @{ $ua->requests_redirectable }, 'POST';

my $req = HTTP::Request->new( POST => $url->{login} );
$req->content_type('application/x-www-form-urlencoded');
$req->content('kundnummer=" . $vars->{persnr1} . $vars->{presnr2} . "&Inloggning=Password&privat=   Privatkund  ');
my $res = $ua->request( $req );

$req = HTTP::Request->new( POST => $url->{loginpassword} );
$req->content_type('application/x-www-form-urlencoded');
$req->content('pin=' . $vars->{pin} . '&kundnummer=' . $vars->{persnr1} . '-' . $vars->{persnr2} . '&loggain= Logga in ');
my $res = $ua->request( $req );

if(!$res->is_success )
{
	print $res->status_line, "\n";
	die;
}

my $match = '"20%" align = "right" NOWRAP BGCOLOR = "#F7F7F7">(.*?)';
$res->content =~ /$match/ig;
print $1,"\n";

Author Per-Olof Pettersson