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:/; #my ($type,$length,$update,$expires,$server)=head($url); #return defined $type; return $ua->head($url)->is_success(); } sub get_site_icon { my ($url)=@_; return if $url!~/^http:/; my $res=$ua->get($url); return unless $res->is_success(); my $page=$res->decoded_content(); my ($favicon)= grep {defined $_ and $_ ne ''} ($page =~ m{new($favicon,$url)->abs->canonical->as_string; $res=$ua->get($favicon); if ($res->is_success() and $res->header('Content-type') !~ /^text/) { return ($res->decoded_content(),$res->header('Content-type')); } else { return; } } 1;