in reply to wget - getting status code?

Refer LWP::UserAgent

--Lakshmanan G.

The great pleasure in my life is doing what people say you cannot do.


Replies are listed 'Best First'.
Re^2: wget - getting status code?
by ultranerds (Hermit) on May 21, 2009 at 11:31 UTC
    Thanks - I managed to get it working with:

    # now lets actually get the image.. my $ua = LWP::UserAgent->new; $ua->timeout(10); $ua->env_proxy; my $response = $ua->get($image); if ($response->is_success) { #print $response->content; # or whatever open(WRITEIT,">$save_to") || die qq|Cant write to $save_to, r +eason: $!|; binmode WRITEIT; print WRITEIT $response->content; close(WRITEIT); my ($x,$y) = imgsize($save_to); print qq|Got sizes: $x x $y \n|; return ($x,$y,$save_to_url); } else { # save a bad status... return (0,0,undef); }


    (just in case anyone else comes across this issue :)

    Cheers

    Andy
      Just for accuracy - I think your solution is not the real answer to the question you've asked initially.

      Probably irrelevant here, but you said you'd want to check if the image exists _before_ downloading it. In your code, you download it and _then_ check if it exists.

      If downloading is the single option, you're code is OK. But if you'd want to avoid say images bigger then 2 GiB, you're code would waste bandwide, downloading the images and then disposing them.

      To actually just check for the existence of an image, you'll want to use $ua->head($image) instead of $ua->get($image).

      Just in case that could matter.


      Krambambuli
      ---