#!/usr/bin/perl -w use WWW::Mechanize; use LWP; use LWP::UserAgent; use MIME::Base64; use POSIX; if ( $#ARGV != 2 ) { print "usage: getreport.PL dnsname/ipaddr username password"; exit; } $base_url='https://' . $ARGV[0] . ':8009/'; my $mech = WWW::Mechanize->new( autocheck => 1 ); #$mech->credentials( '.admin.novell' => 'novell' ); $mech->default_header( Authorization => 'Basic ' . encode_base64( $ARGV[1] . ':' . $ARGV[2] ) ); $main_url=$base_url . 'MAIN.HTML'; $mech->get( $main_url ); #print $mech->content(); my @volumes = $mech->find_all_links( tag => "a", url_regex => qr/VolumeStatus\/.*$/i ); mkdir $ARGV[0]; for my $volume ( @volumes ) { my $url = $volume->url_abs; my $vol = $url; $vol =~ s/^.*'//; $vol =~ s/^.*\/VolumeStatus\///; $vol =~ s/_ADMIN//; $vol =~ s/\)$//; $vol_url = $base_url . 'VolumeStatus/' . $vol . '/INVENTORY1'; $now_string = strftime "%m%d%Y", localtime; if ($vol ne '' ) { print "Volume URL: " . $vol_url . "\n"; $mech->get( $vol_url, ":content_file" => $ARGV[0] . '/' . $vol . '-inventory-' . $now_string . '.html' ); } }