|
|
Choosing A Webhost: |
Re: timeout: msg#00019lang.perl.modules.lwp
Hi, I have also tried your suggestion using alarm() but as I thought, it doesn't seem to work. Have you tried it under Windows? As far as I know alarm() doesn't work under Windows. But you gave me an idea to try using a Windows Timer event. I will see if it works that way. Teddy ----- Original Message ----- From: "Chris Boyce" <chris.boyce@xxxxxxxxxx> To: "Octavian Rasnita" <orasnita@xxxxxxxxx> Cc: "Ted Behling" <ted.behling@xxxxxxxxxxxxxxx>; <libwww@xxxxxxxx> Sent: Thursday, November 09, 2006 12:22 AM Subject: Re: timeout > This is not so much a solution, as it is an alternative to the LWP > timeout... > > I've had good luck just using an eval block around the request, and then > making a simple signal catcher to do something if the alarm times out: > > use LWP::UserAgent; > use HTTP::Cookies; > use HTTP::Headers; > use HTTP::Request; > use HTTP::Response; > > $SIG{ALRM} = sub { die "timeout\n"; }; > > $timeout=5; > > eval { > # Set the alarm clock for timeout seconds > alarm($timeout); > > # Run the request... > $http_response = $agent->request($request); > > # If we're here, then the request didn't get zapped by the alarm... > # reset the alarm to nada. > alarm(0); > }; > > The word "timeout" will appear in the response if the alarm goes off. > Sorry if this is crude, but it works great. > > > -Chris > > > On Thu, 2006-11-09 at 00:09 +0200, Octavian Rasnita wrote: > > Hi, > > > > I've also tried without that "-" before "timeout", but it doesn't work. I > > have also tried with $ua->timeout(5), but it doesn't work either. > > > > Here is the test script and its result: > > > > use strict; > > use LWP::UserAgent; > > > > my $begin = time(); > > > > my $ua = LWP::UserAgent->new(); > > $ua->timeout(5); > > > > print $ua->get("http://www.presaromana.ro/")->content; > > > > print time() - $begin; > > > > And the result is: > > 500 Can't connect to www.presaromana.ro:80 (connect: Unknown error) > > 23 > > > > So it takes 23 seconds instead of timing out after 5. > > > > Is it a bug in LWP, or a limitation of Windows, or I am doing something > > wrong? > > > > Thank you. > > > > Teddy > > > > ----- Original Message ----- > > From: "Ted Behling" <ted.behling@xxxxxxxxxxxxxxx> > > To: "Octavian Rasnita" <orasnita@xxxxxxxxx>; <libwww@xxxxxxxx> > > Sent: Wednesday, November 08, 2006 8:22 PM > > Subject: RE: timeout > > > > > > True. Or, Octavian, just leave out the hyphen from your timeout > > parameter, as in: > > > > my $ua = LWP::UserAgent->new(timeout => 5); > > > > Ted Behling > > ISP Systems Analyst, Hargray Communications > > ted.behling@xxxxxxxxxxxxxxx > > > > -----Original Message----- > > From: Eamon Daly [mailto:edaly@xxxxxxxxxxxxxxxxx] > > Sent: Wednesday, November 08, 2006 10:36 AM > > To: libwww@xxxxxxxx > > Cc: Octavian Rasnita > > Subject: Re: timeout > > > > From the LWP::UserAgent perldoc at > > > > http://search.cpan.org/~gaas/libwww-perl-5.805/lib/LWP/UserAgent.pm > > > > $ua->timeout( $secs ) > > Get/set the timeout value in seconds. The default timeout() value is > > 180 seconds, i.e. 3 minutes. > > > > So in your first example, it should be: > > > > use strict; > > use LWP::UserAgent; > > > > my $ua = LWP::UserAgent->new; > > $ua->timeout(5); > > > > print $ua->get("http://www.presaromana.ro/")->content; > > > > ____________________________________________________________ > > Eamon Daly > > > > > > > > ----- Original Message ----- > > From: "Octavian Rasnita" <orasnita@xxxxxxxxx> > > To: <libwww@xxxxxxxx> > > Sent: Wednesday, November 08, 2006 8:37 AM > > Subject: timeout > > > > > > : Hi, > > : > > : I am trying to create a very simple www client that times out after 5 > > : seconds. I have tried the 2 examples below, but none of them are > > working. > > : They don't time out even though the target site cannot be found. > > : I think they time out after some more time. > > : > > : I have ran them under Windows 2000 with ActivePerl 5.8.8. > > : Is it possible to do what I want? > > : > > : Thanks. > > : > > : use strict; > > : use LWP::UserAgent; > > : > > : my $ua = LWP::UserAgent->new(-timeout => 5); > > : > > : print $ua->get("http://www.presaromana.ro/")->content; > > : > > : __END__ > > : > > : my $req = HTTP::Request->new("GET", "http://www.presaromana.ro/"); > > : my $res = $ua->request($req); > > : > > : print $res->content(); > > : > > : > > : Teddy > > : > > > > > > > -- > Chris Boyce > >
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: timeout, Chris Boyce |
|---|---|
| Next by Date: | RE: mech and javascript modifying form post action, Neville Aga |
| Previous by Thread: | Re: timeout, Chris Boyce |
| Next by Thread: | Getting progress of an uploaded file., Peteris Krumins [Newsgroups] |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |