X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=src%2FNet.pl;h=035ceba84001833a50b4d58c36c0cb62fa9936ac;hb=fac42dc0ecb4cd1e715dcf428887b2768b1d5e5b;hp=09557c8388800ad72c80f4364df02ff71987785e;hpb=ca67f913a1f21aae1fc7f9e02eb815f47e5949fe;p=infobot.git diff --git a/src/Net.pl b/src/Net.pl index 09557c8..035ceba 100644 --- a/src/Net.pl +++ b/src/Net.pl @@ -5,9 +5,9 @@ # Created: 20000309 # -if (&IsParam("useStrict")) { use strict; } +use strict; -use vars qw(%ftp); +use vars qw(%ftp %param); # Usage: &ftpGet($host,$dir,$file,[$lfile]); sub ftpGet { @@ -77,7 +77,7 @@ sub ftpGet { if (defined $lsize) { &DEBUG("FTP: locsize => '$lsize'."); if ($size != $lsize) { - &WARN("FTP: downloaded file seems truncated. FIXME."); + &FIXME("FTP: downloaded file seems truncated."); } } @@ -145,6 +145,7 @@ sub ftpList { ### LWP. # Usage: &getURL($url, [$post]); +# TODO: rename this to getHTTP sub getURL { my ($url,$post) = @_; my ($ua,$res,$req); @@ -180,14 +181,19 @@ sub getURL { sub getURLAsFile { my ($url,$file) = @_; my ($ua,$res,$req); + my $time = time(); - return unless &loadPerlModule("LWP::Simple"); + unless (&loadPerlModule('LWP::UserAgent')) { + &::DEBUG('getURLAsFile: LWP::UserAgent not installed'); + return; + } -### PROXY NOT SUPPORTED WITH SIMPLE? -### $ua->proxy('http', $param{'httpProxy'}) if &IsParam("httpProxy"); - my $time = time(); + $ua = new LWP::UserAgent; + $ua->proxy('http', $param{'httpProxy'}) if &IsParam("httpProxy"); + $req = HTTP::Request->new('GET', $url); &status("getURLAsFile: getting '$url' as '$file'"); - my $retval = getstore($url, $file); + $res = $ua->request($req, $file); + my $delta_time = time() - $time; if ($delta_time) { my $size = -s $file || 0; @@ -195,7 +201,7 @@ sub getURLAsFile { &status("getURLAsFile: Done. ($rate kB/sec)"); } - return $retval; + return $res; } 1;