Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Импорт данных из txt и отображение работы сайтов 
:(
    Опции темы
vlastelin
Дата 9.4.2012, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 6.10.2007

Репутация: нет
Всего: нет



Добрый день, пришлось столкнуться с perl, хоть на нём никогда ничего не программировал..
У меня есть файлик 1.txt, в нём есть ip адреса сайтов, причём они не сразу написаны, а:

"текст 2-буквы 1-буква ip-адрес"
т.е. сначала идёт какоето слово, потом 2 буквы, потом через пробел ещё буква и наконец ip адрес домена
и этот ip адрес нужно проверить на работоспособность и вывести "Работает" или "Не работает"

и таких строчек много, они постоянно добавляются и удаляются из этого txt файла..

Как хоть примерно это можно сделать..? Что почитать..?

Я реализовал подобное на php, но нужно на perl.. :(
PM MAIL   Вверх
arto
Дата 9.4.2012, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



что такое "работоспособность"?
PM MAIL ICQ   Вверх
vlastelin
Дата 9.4.2012, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 6.10.2007

Репутация: нет
Всего: нет



Ну доступен сайт или сайт лежит и не работает.

И мне это всё выводить на сайте..

Это сообщение отредактировал(а) vlastelin - 9.4.2012, 17:24
PM MAIL   Вверх
Pfailed
Дата 9.4.2012, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



А на php как реализовали?


--------------------
PM MAIL   Вверх
vlastelin
Дата 9.4.2012, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 6.10.2007

Репутация: нет
Всего: нет



Код


<?php
set_time_limit(0); 
$context = stream_context_create( 
        array( 
            'http' => array( 
                'timeout' => 3,  
                'method' => 'HEAD',  
                'header' => 'User-Agent:Opera/9.80 (Windows NT 6.1; WOW64; U; '. 
                ' '. 
                '/11.62' 
                ) 
            ) 
); 
$urls = array_map('trim', file('filename.txt')); 

foreach($urls as $url){ 
    $check = false; 
    @file_get_contents($url, false, $context); 
    if(!empty($http_response_header)){ 
        foreach ($http_response_header as $header){ 
            if(preg_match('#^HTTP/\d\.\d\s+2\d\d#', $header)){ 
                $check = true; 
                break; 
            } 
        } 
         
    } 


    unset($http_response_header); 

    echo $url.( $check ? 'Доступен' : 'Не доступен');
}
?>




Но тут код писался когда просто идёт:
http://ya.ru
http://r0.ru

и т.д..
А сейчас у меня чуть иной txt файл
PM MAIL   Вверх
Pfailed
Дата 9.4.2012, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



В perl для HEAD запросов можно использовать LWP. Т.е. вместо file_get_contents() и всего что к нему относится будет что-то вроде
Код

use LWP::Simple;

if (head("http://google.ru")) {
    # работает
}

Документация: https://metacpan.org/module/LWP::Simple https://metacpan.org/module/LWP::UserAgent
Остальное тривиально



--------------------
PM MAIL   Вверх
arto
Дата 9.4.2012, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



perl -MLWP::Simple -lne 'my $url = ( split "\\s+" )[3]; print "$url: ",head("http://$url") ? "yes" : "no"'

PM MAIL ICQ   Вверх
vlastelin
Дата 12.4.2012, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 6.10.2007

Репутация: нет
Всего: нет



Спасибо большое!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0945 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.