HTTP::Size - Get the byte size of an internet resource |
HTTP::Size - Get the byte size of an internet resource
use HTTP::Size
my $size = HTTP::Size::get_size( $url );
if( defined $size ) { print "$url size was $size"; } elsif( $HTTP::Size::ERROR == $HTTP::Size::INVALID_URL ) { print "$url is not a valid absolute URL"; } elsif( $HTTP::Size::ERROR == $HTTP::Size::COULD_NOT_FETCH ) { print "Could not fetch $url\nHTTP status is $HTTP::Size::HTTP_STATUS"; } elsif( $HTTP::Size::ERROR == $HTTP::Size::BAD_CONTENT_LENGTH ) { print "Could not determine content length of $url"; }
The following global variables describes conditions from the last function call:
$ERROR $HTTP_STATUS
The $ERROR
variable may be set to any of these values:
$INVALID_URL - the URL is not a valid absolute URL $COULD_NOT_FETCH - the function encountered an HTTP error $BAD_CONTENT_LENGTH - could not determine a content type
The module does not export these variables, so you need to use the full package specification outside of the HTTP::Size package.
On error, the function set $ERROR to one of these values:
$INVALID_URL - the URL is not a valid absolute URL $COULD_NOT_FETCH - the function encountered an HTTP error $BAD_CONTENT_LENGTH - could not determine a content type
size ERROR HTTP_STATUS
The ERROR and HTTP_STATUS correspond to the values of $ERROR and $HTTP_STATUS for that URL.
my ( $total, $hash ) = HTTP::Size::get_sizes( $url );
foreach my $key ( keys %$hash ) { print "$key had an error" unless defined $size; }
The hash is always returned in list context (a change from version 0.4).
Relative image links resolve accroding to BASE_URL, or by a found BASE tag. See the HTML::SimpleLinkExtor manpage.
Javascript and style sheet links are unimplemented right now.
* if i have to use GET, i should use Byte-Ranges to avoid downloading the whole thing
* add a way to specify Basic Auth credentials
* download javascript and style sheets too.
the HTML::SimpleLinkExtor manpage
This source is part of a GitHub project:
https://github.com/briandfoy/http-size
brian d foy, <bdfoy@cpan.org>
Copyright © 2000-2015, brian d foy <bdfoy@cpan.org>. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
HTTP::Size - Get the byte size of an internet resource |