Thread Bitte Feedback und Diskussion Net::HTTP10
(11 answers)
Opened by rosti at 2011-03-21 18:51
Das Problem ist, dass 794 Byte für den Server kein vollständiges TCP Paket ist und ein volles Paket kein ganzzahliges vielfache von 794 ist. LWP zerlegt dann den Paketinhalt und in 794Byte Blöcke plus den Rest. Das Problem ist also eher, dass der Server zu große TCP Pakete erzeugt und LWP nicht Puffert. Du wirst selber Puffern müssen:
Code (perl): (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 #!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; my $ua = LWP::UserAgent->new(); my $service = 'http://www.heise.de'; my $request = HTTP::Request->new('GET', $service); my $buffer=''; my $res=$ua->request($request, sub { my ($data, $response, $protocol) = @_; $buffer.=$data; while(length($buffer) >= 794) { $data=substr($buffer,0,794,''); printf("%03u\n",length($data)); } }); if ($res->is_success) { print "OK\n"; } else { print "ERROR\n"; } |