Всем привет!
Подскажите пожалуйста как открыть файл который находиться на другом сервере через http:// на PERL.Например есть файл:
http://site.ru/file.txtМне нужно его открыть с помощью Perl
Спасибо!
Люди добрые помогите!
>Люди добрые помогите!да используй ужо wget (обратные кавычки ` ещё никто не запрещал)!!!
ps:
сам ведь не написал, что с ним делать то надо.
и что под словом "открыть" прячется
>сам ведь не написал, что с ним делать то надо.
>и что под словом "открыть" прячетсяМне нужно его открыть и прочитать, но это я знаю как, можешь показать где ставить wget.
Насколько я знаю в LINUX wget скачивает файл с удаленного сервера.Как мне в коде использовать wget, вот код:
open (FILE, "< http://site.ru/files/file.txt") or die "Cannot open file\n";
while (<FILE>){
print $_;
}
close(FILE);
>[оверквотинг удален]
>>и что под словом "открыть" прячется
>
>Мне нужно его открыть и прочитать, но это я знаю как, можешь
>показать где ставить wget.
>Насколько я знаю в LINUX wget скачивает файл с удаленного
>сервера.
>
>Как мне в коде использовать wget, вот код:
>
>open (FILE, "< http://site.ru/files/file.txt") or die "Cannot open file\n";you idiot?
>while (<FILE>){
>print $_;
>}
>close(FILE);
а реального ответа у тебя нет? или ты шибко умный?
>а реального ответа у тебя нет? или ты шибко умный?wget - это внешняя программа.
и вызывать её надо как-то так - exec 'wget https://www.opennet.ru/opennet2_lite.gif' ;
зы:
или используйте различные модули под разные протоколы.
например тут - http://perldoc.perl.org/index-modules-N.html
http://search.cpan.org/search?query=URL&mode=all
>Люди добрые помогите!sub dl_cvd_file {
<------>my $file = shift;
<------>my $version = shift;
<------>
<------>use Net::HTTP;
<------>my $s = Net::HTTP->new(
<------><------>Host=>$dbMirror,
<------><------>KeepAlive=>1,
<------><------>SendTE=>1,
<------>) or die "dl_cvd_file(): Can`t connect: ".$@;
<------>
<------>$s->write_request(
<------><------>GET=>"/".$file.".cvd",
<------><------>'User-Agent' => "ClamavMirror/0.9",
<------><------>'Range'=> "bytes=0-512",
<------>) or die "dl_cvd_file(): write_request() failed for $file";
<------>my($code, $mess, %h) = $s->read_response_headers;
<------>die("dl_cvd_file(): mirror not support Range requests") if $code == 200;
<------>die("dl_cvd_file(): request response != 206, $code $mess") if $code != 206;
<------>
<------>my $buf;
my $n = $s->read_entity_body($buf, 512);
die "read failed: $!" unless defined $n;
die "can`t get 512 bytes" if $n!=512;my $cvd = split_cvdtext($buf);
...
}от копипаста сам почисть..