[Perl] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    ph1l1ster,

    Code:
    use WWW::Mechanize;
    
    my $mech = WWW::Mechanize->new();
    $mech->get('http://lurkmore.ru/%D0%92%D0%B0%D1%83-%D0%B8%D0%BC%D0%BF%D1%83%D0%BB%D1%8C%D1%81');
    
    my @links = $mech->find_all_links(url_regex => qr/https?:\/\/[^lurkmore\.ru]/);
    for my $link (@links) {
        print $link->url()."\n";
    }
    zavra, значит сорцы на самом деле не в утф
     
  2. zavra

    zavra Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    87
    Likes Received:
    48
    Reputations:
    23
    да, вероятно не в утф-8
    блин, не могу скрип дописать из-за сирани кодировки :(
     
  3. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    не сорцы страницы хтмл, а сорцы скрипта перл!
     
  4. constanta

    constanta New Member

    Joined:
    19 Sep 2007
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0
    Граждане очень нужна помощь!!!

    Замучался уже с этими соксами. у не работает хоть убей. Почему не знаю. Прошу помочь.ОЧЕНЬ НУЖНО!!!!

    Без соксов все номрально пашет а как только подключаю - болт.

    PHP:
    #!/usr/local/bin/perl -w

     
    use LWP::UserAgent;
    use 
    IO::All
    use 
    LWP::Protocol::socks;
     
    $socks="хх.ххх.ххх.хх:ххххх";
     
    $email="ххххххххххххххххххх";
     
    $pass="хххххххххххх";
    $use_socks=1;
     
    $ua = new LWP::UserAgent(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5');

       if(
    $use_socks) { $ua->proxy([qw(http https)] => 'socks://'.$socks); }

                
    $req HTTP::Request->new(POST=>'http://www.bonprix.ua/ua/login.htm');
                
    $req->referer('http://www.bonprix.ua/ua/login.htm');
                
    $req->content_language('ru');
                
    $req->content_type('application/x-www-form-urlencoded');
                
    $req->content('login='.$email.'&haslo='.$pass);
                
    $result $ua->request($req);

        if(
    $result->code == 302) {print "$email:$pass - GOOD\n";}
         else { print 
    "$email:$pass - BAD\n"; }
     
    #1024 constanta, 9 Apr 2009
    Last edited: 9 Apr 2009
  5. demond

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    101
    Likes Received:
    22
    Reputations:
    5
    У тебя в строке
    Code:
     if($use_socks) { $ua->proxy([qw(http https)] => 'socks://'.$socks); }
    и в переменной $socks записано socks://, т.о. получается что адрес прокси начинается с socks://socks:// ! Может в этом косяк?
     
  6. constanta

    constanta New Member

    Joined:
    19 Sep 2007
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0
    Да да. тут я автоматом написал. подправил.
    Но скрипт не работает. Почему не понимаю.Пожалуйста помогите!!!
     
  7. ph1l1ster

    ph1l1ster Elder - Старейшина

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    почитай сначала чем отличаются socks и http proxy!
    и темболее,

    Code:
    $ua->proxy([qw(http https)]
    он работать не будет, хоть ты усрись!! :\ то же самое если бы ты в браузер сокс сунул.


    Использование socks в LWP
     
    #1027 ph1l1ster, 9 Apr 2009
    Last edited: 9 Apr 2009
  8. constanta

    constanta New Member

    Joined:
    19 Sep 2007
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0

    Вообще то я основывался на вот этом модуле
    LWP::protocol::socks;

    LWP::protocol::socks

    И смотрел чекер вкантакта - там точно так же использовался такой же модуль. И я так понимаю успешно.

    ХЕЛПППП!!!С меня на пиво гарантировано тому кто поможет разобраться.
     
  9. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Что именно не работает то? Может у тебя соксы хреновые
     
    _________________________
  10. constanta

    constanta New Member

    Joined:
    19 Sep 2007
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0
    просто нет ответа через сокс. без сокса нормально а с соксом нет(
    Соксы хорошие. Беру на сервисе. все нормально.
     
  11. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Нужен либо пример рабочего сокса, который ты используешь, либо пакеты отснифай и выложи сюда
     
    _________________________
  12. j0ker13

    j0ker13 Elder - Старейшина

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    суть вопроса)
    на страничке есть java скрипты. при запросе этой странички в ответ ругается что браузер не поддерживает яваскрипты. как и где указать что поддерживает?)
    копать в сторону LWP::UserAgent?
    запрос передается постом и все заголовки передаю как в оригинале.
    пс. на пхп с курлом все работает)
     
  13. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    ну наверно отправляй нормальный юзерагент, например ие7
    так сложно сказать
     
  14. j0ker13

    j0ker13 Elder - Старейшина

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    2Spyder отправлял) отправлял как у меня в файрфоксе. не помогает
    дело действительно в юзер-агенте?)
     
  15. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Ты адрес сайта дай, с которым работать пытаешься, тогда можно будет точно сказать.
    Или код выложи свой
     
    _________________________
  16. j0ker13

    j0ker13 Elder - Старейшина

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    пытаюсь получить индекс.пхп чата бородина.
    PHP:
    sub sends{
      use 
    LWP::UserAgent;
      
    my $ua LWP::UserAgent->new();
      
    $url1=$_[0];
      
    $post=$_[1];
      
    $ua->agent("Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.1.4pre) Gecko/20070511 Camino/1.6pre");
      
    $ua->default_header('Accept-Language' => "en-US,en;q=0.5");
      
    $ua->default_header('Accept' => "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
      
    $ua->default_header('Accept-Charset' => "windows-1251,utf-8;q=0.7,*;q=0.7");
      
    my $url $host."/".$url1;
      
    my $req HTTP::Request->newPOST => $url );
      
    $req->content($post);
      
    my $res $ua->request($req);
      
    my $response $res->content();
      return 
    $response;
    }

    sends("index.php","PHPSESSID=".$session."&clean-ident=1239095243&br_init_quot=%27php%22spb%22ru%27&br_servtime=1239095249&br_width=".$br_width."&br_height=".$br_height."&br_color=".$br_color."&br_zone=".$br_zone."&br_plugin=false&br_jsreferer=&br_usertime=1239095331906");
     
  17. ph1l1ster

    ph1l1ster Elder - Старейшина

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    j0ker13, а в чём проблема в общем-то?

    Code:
    print $response; 
     
  18. j0ker13

    j0ker13 Elder - Старейшина

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    2ph1l1ster
    проблема в том что после print $response;
    выводится надпись
    вопрос в том как заставить сервак думать что скрипты поддерживаются и включены?)
     
  19. j0ker13

    j0ker13 Elder - Старейшина

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    и еще пара вопросов)
    если в строке ищешь нужное с помощью регулярки где находится несколько правильных результатов как их выводить все?)
    и еще) например в пхп быстрее работать с помощью курла чем с сокетами. а в перле какой способ быстрее чтоб запрашивать удаленную страничку?)
     
  20. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    Например при парсинге ип:
    Code:
    my $data = "127.0.0.1:8080";
    my $pars = $data =~ /(.*)\:(.*)/;
    if($pars){
    print $1.":".$2."\n";
    }
    Думаю здесь понятно
    Если просто получить страничку (типа как в пхп file_get_contents):
    Code:
    use LWP::UserAgent;
    $ua = new LWP::UserAgent;
    my $answ = $ua->get("http://ya.ru")->as_string;
    print $answ;
     
Thread Status:
Not open for further replies.