URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86379
[ Назад ]

Исходное сообщение
"Open file from url PERL"

Отправлено Darktj , 24-Авг-09 13:59 
Всем привет!
Подскажите пожалуйста как открыть файл который находиться на другом сервере через http:// на PERL.

Например есть файл:
http://site.ru/file.txt

Мне нужно его открыть с помощью Perl

Спасибо!


Содержание

Сообщения в этом обсуждении
"Open file from url PERL"
Отправлено Darktj , 24-Авг-09 14:24 
Люди добрые помогите!



"Open file from url PERL"
Отправлено vitek , 24-Авг-09 14:37 
>Люди добрые помогите!

да используй ужо wget (обратные кавычки ` ещё никто не запрещал)!!!
ps:
сам ведь не написал, что с ним делать то надо.
и что под словом "открыть" прячется


"Open file from url PERL"
Отправлено Darktj , 24-Авг-09 14:45 
>сам ведь не написал, что с ним делать то надо.
>и что под словом "открыть" прячется

Мне нужно его открыть и прочитать, но это я знаю как, можешь показать где ставить wget.
Насколько я знаю в LINUX  wget  скачивает файл с удаленного сервера.

Как мне в коде использовать wget, вот код:

open (FILE, "< http://site.ru/files/file.txt") or die "Cannot open file\n";
while (<FILE>){
print $_;
}
close(FILE);


"Open file from url PERL"
Отправлено Pahanivo , 24-Авг-09 14:51 
>[оверквотинг удален]
>>и что под словом "открыть" прячется
>
>Мне нужно его открыть и прочитать, но это я знаю как, можешь
>показать где ставить 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);


"Open file from url PERL"
Отправлено Darktj , 24-Авг-09 14:59 
а реального ответа у тебя нет? или ты шибко умный?



"Open file from url PERL"
Отправлено vitek , 24-Авг-09 15:33 
>а реального ответа у тебя нет? или ты шибко умный?

wget - это внешняя программа.
и вызывать её надо как-то так - exec 'wget https://www.opennet.ru/opennet2_lite.gif' ;
зы:
или используйте различные модули под разные протоколы.
например тут - http://perldoc.perl.org/index-modules-N.html


"Open file from url PERL"
Отправлено SubGun , 24-Авг-09 16:39 
http://search.cpan.org/search?query=URL&mode=all

"Open file from url PERL"
Отправлено PavelR , 24-Авг-09 19:53 
>Люди добрые помогите!

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);

...
}

от копипаста сам почисть..