package Bookmarks::Utils;
use strict;
use warnings;
use LWP::UserAgent;
use URI::URL;
my $ua=LWP::UserAgent->new();
sub check_link {
my ($url)=@_;
return 1 if $url!~/^http:/;
return $ua->head($url)->is_success();
}
sub get_site_icon {
my ($url)=@_;
return if $url!~/^http:/;
print "Provo nella pagina\n";
my $page=get($url);
my ($favicon)= grep {defined $_ and $_ ne ''}
($page =~
m{<link
\s+
(?:
rel="shortcut\ icon"
\s+
href="(.*?)"
)|(?:
href="(.*?)"
\s+
rel="shortcut\ icon"
)}smx);
if (!$favicon) {
$favicon='/favicon.ico';
}
print "Trovato: '$favicon'";
$favicon=URI::URL->new($favicon,$url)->abs->canonical->as_string;
print ", ovvero '$favicon'\n";
my $res=$ua->get($favicon);
if ($res->is_success()) {
return ($res->decoded_content(),$res->header('Content-type'));
}
else {
return;
}
}
1;