Hello LWP members, This is my first message to the list, and I am grateful for the list and the benefit that it provides to all of us who rely on LWP. UserAgent hangs very often upon retrieving certain urls. I have to kill the process. Please show me how to set up LWP so that it will timeout after the number of seconds that I designate. I ran the code on the following url http://208.146.248.1 and it just hangs for a long time. Longer than my MAX_SECONDS of 30 and ABSMAX_SEC of 40 seconds. I am using: $ua->timeout($MAX_SECONDS); $ua->use_eval(0); ## used to override the disabling of __DIE__ I am running RH Linux with version 1.80 of LWP and version 1.1603 of IO::Socket. IO::Socket::INET has the timeout section commented out by the author. Is this a mistake? Could this be the problem? Gil Vidals [EMAIL PROTECTED] #--------------------------------------------------------------------------------------------- sub get_page #--------------------------------------------------------------------------------------------- ## Description: gets the source of the page ## Input: $url (string of url to get the source of) ## Output: response content if successful ## Effects: none ## Subroutines used: none ## Tables used: none ## Libraries used: LWP::UserAgent, Carp { my $self = shift; my ($url) = @_; return -1 unless $url; ## add http:// if not already on there ## $url = "http://" . $url if ($url !~ m@^http://@i); carp "Getting page $url"; my $ua = LWP::UserAgent->new; ### How much time we wait before receiving data. According to Jisun this timer might be reset each time ### some data comes through for the same page. $ua->timeout($MAX_SECONDS); $ua->agent('Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)'); $ua->use_eval(0); my $start = time; ### allow only X seconds to complete the download of a given page my $response = $ua->request(HTTP::Request->new(GET=> "$url"), sub { my($data, $response) = @_; $response->add_content($data); die "ABS-Timeout" if (time - $start) > $ABSMAX_SEC; } ); if ($response->is_success) { my $base = $response->base || ''; carp "\n\n", $base, '<------------$response->base-----------------------------', "\n\n" if $DEBUG; return ($response->content, $base); } else { carp 'Page timed out' if $DEBUG; return " "; } }