Thread Aufruf durch eval und alarm schützen: ... aber wie ... (18 answers)
Opened by Andreas_broti at 2005-09-29 09:37

kristian
 2005-10-01 20:25
#58461 #58461
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo
@Jan
> warum eigentlich selbst schreiben, wenn LWP doch mit dem
> timeout im allgemeinen ganz wunderbar zurecht kommt..

Weil es böse Buben geben könnte und der Timeout von LWP nicht atomar ist.

Nimmst du diesen Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl
$|++;
use strict;
use diagnostics;

my $target = $ARGV[0];
my $agent = $ARGV[1];

use LWP;
print "This is libwww-perl-$LWP::VERSION\n";

my $start_time = time();

my $ua = LWP::UserAgent->new();
$ua->agent($agent);
$ua->timeout(10);

my $req = HTTP::Request->new(GET => $target);
my $res = $ua->request($req);

if ($res->is_success) {
print $res->content() . "\n";
}else{
print $res->status_line() . "\n";
}

my $end_time = time();

print 'Runtime: ' . ($end_time - $start_time) . "\n";

ich denke mal der ist ok, speicherst das Ding als bot ab, machst das Teil ausführbar und rufst das Ganze so auf:
./bot 'http://lapostecoste.de/cgi-bin/bot_catcher.cgi' 'GoodBot'
und dann
./bot 'http://lapostecoste.de/cgi-bin/bot_catcher.cgi' 'BadBot'
da kannst du aber locker Kaffe trinken gehen....

Gruß Kristian

Edit:
http://lapostecoste.de/botcatcher/log.txt\n\n

<!--EDIT|kristian|1128184815-->

View full thread Aufruf durch eval und alarm schützen: ... aber wie ...