Skip to content

Instantly share code, notes, and snippets.

Created March 11, 2012 03:26
  • Star 5 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save dougwilson/0dbc430a67f28bac0b39 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl
use v5.12;
use warnings;
use Mojo::UserAgent;
use Mojo::IOLoop;
use Time::HiRes qw(time);
my $delay = Mojo::IOLoop->delay(sub { warn "done"; });
my @urls = (
my $ua = Mojo::UserAgent->new(max_redirects => 3);
my $start = time;
foreach my $u (@urls) {
my $now = time;
$ua->get($u => sub {
my($ua, $tx) = @_;
my $u = sprintf "%-25s", $u;
my $et = sprintf "%5.3f", time - $now;
my $len = sprintf "%8s", length($tx->res->body);
? "$u has length $len and loaded in $et ms"
: sprintf "Error for $u: (%s) %s", $tx->error
warn "End of loop\n";
say for $delay->wait;
my $tet = sprintf "%5.3f", time - $start;
say "Total elapsed time: $tet ms";
Copy link

I've enabled redirects in the example now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment