Мобильная версия форумов
Открыть
 −7°C
завтра: −14°C
Погода в Перми
−7°C
утром−11°C
днем−13°C
завтра−14°C
Подробно
 66,25
−0.4574
Курс USD ЦБ РФна 19 февраля
66,2470
−0.4574
 74,91
−0.3437
Курс EUR ЦБ РФна 19 февраля
74,9055
−0.3437
PRM.Форум /Компьютеры Интернет Связь / Программирование /

туплю... но как проверить валидность URL на Perle?

  • guru

    Сообщений: 3411

    На PHP, наверно, и
    $fp = @fopen ($URL, "r"); if (!$fp) { die ("Cannot open website $URL!"); }
    проканает... а на Перле?... и желательно без необходимости установки навороченного модуля... или просто чтоб модуль поместить в подкаталог lib и работало.... кто поможет? :-)

    Осторожно, злой кот!

  • рыжий котэ

    Сообщений: 12083

    На перле тоже проканает...

    Осторожнее с травой!
    Если хапнешь много дряни
    Увезут тебя с собой
    Злые инопланетяне

  • guru

    Сообщений: 3411

    Дык, не канает :-)

    #!/usr/bin/perl
    print "Content-type: text/html\n\n";
    $url="ЗдесьПишемУрлу";
    $r=open FILE,"$url";
    if ($r) { print "OK"; }
    else { print "Can not open $url!"; }

    дает "Can not open... " для любого адреса....

    не могу же я, как на Сишке написать с fopen - она разве есть в Перле? :-) попробовал

    #!/usr/bin/perl

    $url="ЗдесьПишемУРЛу";
    print "Content-type: text/html\n\n";

    use IO::File;
    $fh = new IO::File;
    if ($fh->open("< $url")) {
    print ;
    $fh->close;
    }
    else {
    print "Can not open $url!";
    }

    тож не канает... киньте кто-нибудь работающий пример плз...

    Осторожно, злой кот!

  • Анонимный пользователь
    тебе с пользованием библиотекой lwp подойдет?
    приду домой поищу в старых своих кодах

  • Анонимный пользователь
    use LWP::UserAgent;
    $ua = LWP::UserAgent->new;
    $ua->agent("MyApp/0.1 ");
    # Create a request
    my $req = HTTP::Request->new(Get => 'http://ngs.ru');
    my $res = $ua->request($req);
    if ($res->is_success) {
    print "ok! \n";
    }
    else {
    print "[censored]! \n";
    }

  • guru

    Сообщений: 3411

    Спасибо за ответ, только вот ничего, кроме самого файла со скриптом, не OK, все остальные УРЛы censored :-(
    LWP установлен, проверено. ActivePerl 5.6.1 на WinXPSP2. Проверил также на Apache/1.3.28 (Unix) с Перлом 5.76 - там упорно выдает Internal error 500, хотя модуль тож есть...

    Мож в самом Useragent.pm че-нить ковырнуть, таймаут какой-нибудь? :-)

    Осторожно, злой кот!

  • Анонимный пользователь
    Ковырять не надо!
    Вот: $ua->timeout(10);
    Должно помочь.

  • guru

    Сообщений: 3411

    Ты будешь смеяться - не помогло :-( Разница в том, что теперь и на собственный URL тоже [censored] :-(

    Осторожно, злой кот!

  • Анонимный пользователь
    А пробовал таймаут ставить побольше?
    Хотя 10 сек. итак немало.
    А ты уверен что твоя прога может в инет ходить? Может у тебя прокси используется или фаервол?Посмотри какой-нибудь программулиной уходят ли от нее пакеты.

Записей на странице:

Перейти в форум

Модератор: