The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Open file from url PERL"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Open file from url PERL"  +/
Сообщение от Darktj email on 24-Авг-09, 13:59 
Всем привет!
Подскажите пожалуйста как открыть файл который находиться на другом сервере через http:// на PERL.

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

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

Спасибо!

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Open file from url PERL"  +1 +/
Сообщение от Darktj email on 24-Авг-09, 14:24 
Люди добрые помогите!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Open file from url PERL"  +/
Сообщение от vitek (??) on 24-Авг-09, 14:37 
>Люди добрые помогите!

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Open file from url PERL"  +/
Сообщение от Darktj email on 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);

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Open file from url PERL"  +/
Сообщение от Pahanivo email(ok) on 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);

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Open file from url PERL"  +/
Сообщение от Darktj email on 24-Авг-09, 14:59 
а реального ответа у тебя нет? или ты шибко умный?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Open file from url PERL"  +/
Сообщение от vitek (??) on 24-Авг-09, 15:33 
>а реального ответа у тебя нет? или ты шибко умный?

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Open file from url PERL"  +/
Сообщение от SubGun (ok) on 24-Авг-09, 16:39 
http://search.cpan.org/search?query=URL&mode=all
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Open file from url PERL"  +/
Сообщение от PavelR (??) on 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);

...
}

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру