On 1/4/08, [EMAIL PROTECTED] <[EMAIL PROTECTED]>
wrote:
>
>   my $mech = WWW::Mechanize->new();
>   $mech->get($url);
>
>   my @links = $mech->find_all_images();
>   foreach my $link (@links){
>     my $imageurl = $link->url_abs();
>     $imageurl =~ m/([^\/]+)$/;
>     $mech->get($imageurl, ':content_file' => $1);
>   }
>
> My current problem with this is that I'm trying to dl an image
> generated with information from the session of the original
> get($url).


How is the session created, and passed to the image?

If the session is established by a cookie within the HTTP response headers,
your first request should create the cookie and WWW::Mechanize should
remember it.  Your subsequent requests for the images should be sent the
same cookie, and your image requests should receive it and be able to
associate it with the same session.

If your session is established by a cookie set by JavaScript, then you'll
need to parse the cookie value out of the page (JavaScript) content yourself
and set up your own cookie jar explicitly, and populate it with this value
once you discover it.

A web browser isn't doing too much more than the logic you have above.  HTTP
is inherently stateless, and aside from mechanisms like the HTTP Referer
request header, cookies, and the URL itself, there's little else that the
browser can do to carry information from one request to the next.  I believe
WWW::Mechanize supports all of this, so if the above doesn't help, more
information may be needed.

David

Reply via email to