Hallo,
wenn ich dieses Script ausführe:
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
30
31
32
33
34
#!/usr/bin/perl
#-#############################################
use strict;
use warnings;
use IO::Socket qw(:DEFAULT :crlf);
#-#############################################
$/ = CRLF.CRLF;
my ($data, $host, $path, $socket, $header);
my $url = 'http://IrgendWo';
#-#############################################
($host, $path) = $url =~ m!^http://([^/]+)(/[^\#]*)!
or die "URL nicht gültig";
$socket = IO::Socket::INET->new(
PeerAddr => $host,
PeerPort => 80,
Proto => 'tcp',
Type => SOCK_STREAM
) or die("keine Verbindung zu $host <br>$@<br>");
print $socket qq|GET $path HTTP/1.0|.CRLF.CRLF;
$header = <$socket>;
$header =~ s/$CRLF/\n/g;
#print $header;
print $data while read($socket, $data, 1024) > 0;
close $socket;
#-#############################################
exit;
wird nicht in jedem Falle das erwartete Ergebnis geliefert; will sagen, die Datei wird nicht gefunden und der Remote-Server meldet die tollsten Sachen.
Wenn ich stattdessen ein LWP basiertes Script laufen lasse dann klappt alles problemlos.
Woran kann das liegen??
Mit Gruß
Dieter