HTML::HTML5::Parser::UA - simple web user agent class
Contents
Copyright And License
Copyright (C) 2012 by Toby Inkster
This library is free software; you can redistribute it and/or modify it under the same terms as Perl
itself.
Description
This is a simple wrapper around HTTP::Tiny and LWP::UserAgent to smooth out the API differences between
them. It only supports bog standard "get($url)" requests.
If LWP::UserAgent is already in memory, this module will use that.
If LWP::UserAgent is not in memory, then this module will use HTTP::Tiny (or direct filesystem access for
"file://" URLs).
If LWP::UserAgent is not in memory, and you attempt to request a URL that HTTP::Tiny cannot handle (e.g.
an "ftp://" URL), then this module will load LWP::UserAgent and die if it cannot be loaded (e.g. is not
installed).
HTML::HTML5::Parser::UA is used by the "parse_file" method of HTML::HTML5::Parser.
ClassMethod
"get($url, $ua)"
Gets the URL and returns a hashref similar to HTTP::Tiny's hashrefs, but with an additional
"decoded_content" key, which contains the response body, decoded into a Perl character string (not a
byte string).
If $ua is given (it's optional), then this user agent will be used to perform the actual request.
Must be undef or an LWP::UserAgent object (or a subclass) or an HTTP::Tiny object (or a subclass).
PackageVariable
$HTML::HTML5::Parser::NO_LWP
If true, avoids using LWP::UserAgent.
Disclaimer Of Warranties
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
perl v5.36.0 2022-08-28 HTML::HTML5::Parser::UA(3pm)
Motivation
LWP::UserAgent is a good piece of software but it has a dependency on HTML::Parser. HTML::Parser is only
used to provide one fairly esoteric feature, which this package doesn't make use of. (It's the
"parse_head" option.)
Because of that, I don't especially want HTML::HTML5::Parser to have a dependency on LWP::UserAgent.
Hence this module.
Name
HTML::HTML5::Parser::UA - simple web user agent class
See Also
HTML::HTML5::Parser.
Synopsis
use aliased 'HTML::HTML5::Parser::UA';
my $response = UA->get($url);
die unless $response->{success};
print $response->{decoded_content};
