X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FWWW%2FOffliberty.pm;h=b2fdbcdfe7a5c95df12ce86b73f7be34a87127be;hb=refs%2Ftags%2F1.000005;hp=a8ca5769313c192d729bfa7400d59dd89d7146eb;hpb=e90bc6161036203425f93442bcc23dc2a3c86e34;p=www-offliberty.git diff --git a/lib/WWW/Offliberty.pm b/lib/WWW/Offliberty.pm index a8ca576..b2fdbcd 100644 --- a/lib/WWW/Offliberty.pm +++ b/lib/WWW/Offliberty.pm @@ -1,23 +1,23 @@ package WWW::Offliberty; -use 5.014; +use 5.008009; use strict; use warnings; use parent qw/Exporter/; -our $VERSION = '0.002'; +our $VERSION = '1.000005'; our @EXPORT_OK = qw/off/; -use constant OFF_URL => 'http://offliberty.com/off54.php'; +our $OFF_URL = 'http://offliberty.com/off03.php'; use HTML::TreeBuilder; use HTTP::Tiny; -my $http = HTTP::Tiny->new(agent => "WWW-Offliberty/$VERSION "); +our $http = HTTP::Tiny->new(agent => "WWW-Offliberty/$VERSION ", default_headers => {Referer => 'http://offliberty.com/'}); sub off{ my ($url, @params) = @_; - my $ret = $http->post_form(OFF_URL, {track => $url, @params}); - die $ret->{reason} unless $ret->{success}; + my $ret = $http->post_form($OFF_URL, {track => $url, @params}); + die $ret->{reason} unless $ret->{success}; ## no critic (RequireCarping) my $root = HTML::TreeBuilder->new_from_content($ret->{content}); map { $_->attr('href') } $root->look_down(qw/_tag a class download/); } @@ -38,9 +38,28 @@ WWW::Offliberty - interface to offliberty.com download service WWW::Offliberty is a simple interface to the offliberty.com download service. -It exports a single function: B(I, [I => value...]). -This function that returns a list of download links, -as returned by the service. +The module exports (on request) a single function, B(I, +[I => value, ...]). It takes a URL and an optional list of +parameters (key/value pairs). It returns a list of download links. An +empty list is returned if the Offliberty service returns no URLs (for +example if Offliberty encounters an error or the URL is invalid). Dies +if unable to contact Offliberty (for example if there is no internet +connection or a firewall blocks the connection). + +The supported services and parameters are undocumented. From empirical +testing, when requesting a YouTube URL the service will return an +audio-only URL when called with no parameters, and two URLs +(audio-only and audio/video) when called with the parameter +B set to B<1>. In contrast, Vimeo URLs with no parameters +return both audio-only and audio/video variants. + +Note: The URL of the service sometimes changes, which breaks this +module. If you notice this, please report a bug on RT. While the bug +is being fixed, you can override the URL locally by doing: + + $WWW::Offliberty:OFF_URL = 'http://offliberty.com/correct_url.php'; + +before calling off. =head1 SEE ALSO @@ -52,7 +71,7 @@ Marius Gavrilescu, Emarius@ieval.roE =head1 COPYRIGHT AND LICENSE -Copyright (C) 2013 by Marius Gavrilescu +Copyright (C) 2013-2017 by Marius Gavrilescu This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.18.1 or,