Сори за нубовский вопрос, пытаюсь скачать бинарный файл через perl-овку
И вылезло сразу два вопроса:1. Как очистить хидеры которые шлёт апач
2. Выдать вывести весь файл что отдаёт сервер
[а теперь немного говнокода]
sub requester
{
my $sock = new IO::Socket::INET
(
PeerAddr => $_[2],
PeerPort => 80,
PeerProto => 'tcp',
TimeOut => 10
) or print "Can't connect\n";
$sock->autoflush;
my $re =
"POST $_[1] HTTP/1.1\n".
"Host: $_[2]\n".
"User-Agent: Mozilla/4.0\n".
"Connection: close\n".
"Cookie: $_[5]".
"Content-Type: application/x-www-form-urlencoded\n".
"Content-Length: ".length($_[3])."\n\n".$_[3];
print $sock $re;
#read($sock, my $answ, 10000);
sysread($sock, my $answ, 10000);
if($_[0] == 1){if($answ =~ $_[4]){if($answ =~ /Set-Cookie: (\S+); /){return $1}}}
if($_[0] == 2){
if($answ =~ /Content-Length: (\d+)/)
{
binmode STDOUT;
print $answ;
}
}
return 0;
close($sock);
}
[EOF]
игрался с sysread, но судя по всему я что то не так делаю.. как считать весь файл?