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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Net::HTTP - чекать списки урлов, в цекле не пашет а без него на урА 
:(
    Опции темы
DiverD
Дата 15.3.2006, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

#!/usr/bin/perl 
use Net::HTTP;
@array = qw(forum.vingrad.ru perl.org google.com perl.org.ua mail.ru);
print "@array";
foreach $u (@array) {
my $s = Net::HTTP->new(Host => "$u");
$s->write_request(GET => "/index.php", 'User-Agent' => "Mazilla 1.7.2");
my @r = $s->read_response_headers;
while (1) {
my $buf;
my $n = $s->read_entity_body($buf, 1024);
die $! unless defined $n;
last unless $n;
if ($buf=~/perl/i) {
print "$u : OK\n";
last;
}
}
}


короче здесь ни фига не чекаятся урлы из массива,а вот если без цикла то работает с одним урлом вмсето переменной $u.
что делать.
мне нада что скрипт чекал все урлы и выводил резулт!

в чем моя ошибка???
--------------------
[ FreeBSD & pERL p0WER eVERY dAY ]
PM MAIL   Вверх
nitr
Дата 15.3.2006, 02:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



Простейший код:
Код

#!/usr/bin/perl
use LWP::UserAgent;
my @array = qw(forum.vingrad.ru perl.org google.com perl.org.ua mail.ru);
#my @array = ('forum.vingrad.ru', 'perl.org', 'google.com', 'perl.org.ua', 'mail.ru'); :)
foreach my $u (@array) {
  my $ua = LWP::UserAgent->new() || die $@;
  my $response = $ua->get('http://'.$u.'/index.php');
  my $content = $response->content;
  if ($content=~/perl/gi) {
    print "$u : OK\n";
  }
}


perldoc LWP::UserAgent
perldoc LWP::Simple


Это сообщение отредактировал(а) nitr - 15.3.2006, 03:12


--------------------
PM   Вверх
DiverD
Дата 15.3.2006, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



nitr
спасибо - работает.
но помоги мне именно с Net::HTTP мне простп интересно почему он не пашет если передавать переменную в теле цикла? вчера долбался весь день и без результата - весь гугл обрыл
--------------------
[ FreeBSD & pERL p0WER eVERY dAY ]
PM MAIL   Вверх
BlackLFL
Дата 15.3.2006, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

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



Код

#!/usr/bin/perl
use strict;
use warnings;
use Net::HTTP;

use CGI::Carp qw(fatalsToBrowser); # For debuging
print "Content-type: text/plain\n\n";


my @array = qw( forum.vingrad.ru perl.org google.com perl.org.ua mail.ru );
#print "@array";

foreach my $u ( @array ) {
    print "\n$u: ";
    
    my $s = Net::HTTP->new(Host => "$u");
    $s->write_request(GET => "/index.php", 'User-Agent' => "Mazilla 1.7.2");
    my @r = $s->read_response_headers;
    while (1) {
        my $buf;
        my $n = $s->read_entity_body($buf, 1024);
        
        die $! unless defined $n;
        last unless $n;
        
        if ( $buf =~ /perl/i ) {
            print "OK";
            last;
        }
    }
}

1;

Результат:
Цитата

forum.vingrad.ru: OK
perl.org:
google.com:
perl.org.ua: OK
mail.ru:


версия Net::HTTP
# $Id: HTTP.pm,v 1.44 2004/04/09 15:07:04 gisle Exp $
$VERSION = "1.00";
PM WWW   Вверх
DiverD
Дата 15.3.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



BlackLFL спасиб.

oбъясни что да как пожалуйсто,что та я отличия не нахожу=)

Это сообщение отредактировал(а) diverd - 15.3.2006, 21:11
--------------------
[ FreeBSD & pERL p0WER eVERY dAY ]
PM MAIL   Вверх
BlackLFL
Дата 15.3.2006, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

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



diverd, заработало?
PM WWW   Вверх
DiverD
Дата 15.3.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



BlackLFL

да. но шо за фигня код вроде одинаков
--------------------
[ FreeBSD & pERL p0WER eVERY dAY ]
PM MAIL   Вверх
BlackLFL
Дата 15.3.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

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



магия smile

p.s. используй всегда
Код

use strict;
use warnings;

и делай хотя бы минимальный отступ между блоками скрипта ...
PM WWW   Вверх
DiverD
Дата 15.3.2006, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



BlackLFL

да у меня эта стаяло и всегда использую ибо мне Шарк приказал=)
а может интапритатор глючить???

This is perl, v5.8.7 built for i386-freebsd-64int


--------------------
[ FreeBSD & pERL p0WER eVERY dAY ]
PM MAIL   Вверх
sharq
Дата 16.3.2006, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

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



diverd,
Цитата(diverd @ 16.3.2006, 00:39 Найти цитируемый пост)
а может интапритатор глючить???

smile
ага, на кого еще скинуть как не на интерпретатор!

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
sharq
Дата 16.3.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

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



Кстати, появился свежий релиз интерпретатора от ActiveState - 5.8.8.816, здесь.
Новость читаем здесь.

smile

Это сообщение отредактировал(а) sharq - 16.3.2006, 12:41


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
nitr
Дата 16.3.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



Намана =) уже качал, глюки с Crypt::SSLeay =) возникли дополнительные, перекомпиляции не подлежит, качаем готовый ppm! Этим исправим глюк smile


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


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

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


 




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


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

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