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

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

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

    Chuck Banned

    Joined:
    23 Jul 2007
    Messages:
    77
    Likes Received:
    180
    Reputations:
    11
    Парни! Есть массив, состоящий из девяток (ну, 9*). Как из этого массива выбрать только xyz'ы ???
     
  2. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    ну чтение и запись в файл я думаю ты сам сможешь сделать

    $osika = '438884348';

    @IN = split(//, $osika);
    @IN = grep{!$_{$_}++} @IN;

    if (@IN < 4)
    {
    print $osika."\n";
    }
     
    2 people like this.
  3. constanta

    constanta New Member

    Joined:
    19 Sep 2007
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0
    Народ, подскажите пожалуйста... Есть база мыл - весит 100 мб (тхт) , есть фильтр весит 700 мб (тхт) . Как можно сделать так что бы из первого файла были удалены быстро и качественно совпадения по фильтру.А результат записан в другой какой то файл.
     
  4. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    что из себя представляет фильтр?
     
    1 person likes this.
  5. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Думаю просто список мыльников...
    Фильтрация тут имхо сравнение - Т.е. если мыльник, из первого файла совпадает с мыльником из вторга файла, то его пропускают, если не совпадает пишем в файл... и. т.д.
     
  6. constanta

    constanta New Member

    Joined:
    19 Sep 2007
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0
    Угу. Второй файл - просто список абузных мыл. Которых не должно быть в итоговом файле.
     
  7. Fak1r

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

    Joined:
    3 Jun 2007
    Messages:
    36
    Likes Received:
    2
    Reputations:
    0
    Есть такой сайт getfirelink.net отправляет файлы на почту. Так вот на этом сайте за ежедневное посещение сайта бесплатно добавляется 5Мб.
    Собсна ниже приведен скрипт который при запуске должен заходить на сайт и ароходить авторизацию, но чет не работает, помогите пожалуйста исправить скрипт.

    Code:
    #!/usr/bin/perl
    
    use LWP::UserAgent;
    use HTTP::Cookies;
    
    $url   = "http://getfirelink.net/";
    $login  = "";
    $password = "";
    $xpl = LWP::UserAgent->new() or die;
    $cookie_jar = HTTP::Cookies->new();
    $xpl->cookie_jar( $cookie_jar );
    $res = $xpl->post($url.'index.php',
     [
     "user"   => "$login",
     "password"   => "$password",
     ]);
     $cookie_jar->extract_cookies($res);
     $xpl->get($url.'cabinet/files/index.php');
    
     
  8. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    Code:
    #!perl
    use warnings;
    use strict;
    use LWP::UserAgent;
    my ( $ua,$id,$pwd ) = ( LWP::UserAgent->new,"demonoid","JIAPOJIb" );
    my $res = $ua->post( "http://getfirelink.net/index.php?user=".$id."&passwd=".$pwd."&submit_login=%D0%92%D0%BE%D0%B9%D1%82%D0%B8" );
    # тут проверку сделай удалась авторизация или нет  
    # ...$res->as_string;
     
    #248 demonoid, 2 Dec 2007
    Last edited: 2 Dec 2007
  9. Fak1r

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

    Joined:
    3 Jun 2007
    Messages:
    36
    Likes Received:
    2
    Reputations:
    0
    А можно довести скрипт до ума, а то я практически ни чего не понимаю в перле
     
  10. Пыхпых Инъекцыч

    Joined:
    20 Jun 2007
    Messages:
    3
    Likes Received:
    1
    Reputations:
    0
    HTTP::Cookies - логин в админку вордпресса

    Камрады! Не могу одолеть wordpress движок, перл начал изучать недавно.
    Вот у меня написан скрипт логина в юзерскую админку вордпресса - всё работает.
    PHP:
    #usr/bin/perl
      
    use strict;
    use 
    warnings;
    use 
    LWP::UserAgent;
    use 
    HTTP::Cookies;

    #-- USER AGENT
    my $user_agent LWP::UserAgent->new;
    $user_agent->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7');
    $user_agent->cookie_jar( {} );
    $user_agent->timeout(7);

    $user_agent->default_headers->push_header(
        
    'Accept-Charset' => 'iso-8859-1,*,utf-8'
        
    );
    $user_agent->default_headers->push_header(
        
    'Accept' => 'text/xml,application/xml, application/xhtml+xml, text/html, text/plain, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*'
        
    );
    $user_agent->default_headers->push_header(
        
    'Accept-Language' => 'en-US'
        
    );

    #-- BLOG DATA
    my $url "http://localhost/tst2/wp2/";
    my $usr "user1";
    my $pwd "qazwsx";

    #-- LOGIN
    my $req HTTP::Request->newPOST => $url 'wp-login.php' );
    $req->content_type('application/x-www-form-urlencoded');
    $req->contentsprintf('log=%s&pwd=%s&wp-submit=Login »&redirect_to=wp-admin/',$usr,$pwd) );
    my $res $user_agent->request$req );

    #-- USER WP-ADMIN
    $req HTTP::Request->newGET => $url 'wp-admin');
    $req->content_type('application/x-www-form-urlencoded');
    $res $user_agent->request$req );
    print 
    $res->as_string;
    Далее, я бы хотел немного переделать скрипт.
    В лисе с помощью расширения EDIT COOKIES я продляю срок действия вордпрессовских кукисов, в результате чего в мозилловском файле cookies.txt появляется следующая запись:
    PHP:
    localhost    FALSE    /tst2/wp2/    FALSE    1227897800    wordpresspass_c7e1d058c6b9ded5cfeaa99ec2ae0c85    ef4ddf645aa223c0b2b1356fbb4fd90a
    localhost    FALSE    
    /tst2/wp2/    FALSE    1227897800    wordpressuser_c7e1d058c6b9ded5cfeaa99ec2ae0c85    user1
    Теперь, в следующий раз в браузере можно сразу попасть в админку вордпресса.
    А вот скриптом не получается, редериктит на wp-login.php:
    PHP:
    #usr/bin/perl
      
    use strict;
    use 
    warnings;
    use 
    LWP::UserAgent;
    use 
    HTTP::Cookies;

    #-- USER AGENT
    my $user_agent LWP::UserAgent->new;
    my $cookie_jar HTTP::Cookies::Netscape->newfile=> 'firefox_cookies.txt', );

    $user_agent->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7');
    $user_agent->cookie_jar$cookie_jar );

    $user_agent->timeout(7);
    $user_agent->default_headers->push_header(
        
    'Accept-Charset' => 'iso-8859-1,*,utf-8'
        
    );
    $user_agent->default_headers->push_header(
        
    'Accept' => 'text/xml,application/xml, application/xhtml+xml, text/html, text/plain, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*'
        
    );
    $user_agent->default_headers->push_header(
        
    'Accept-Language' => 'en-US'
        
    );

    #-- BLOG DATA
    my $url "http://localhost/tst2/wp2/";

    #-- USER WP-ADMIN
    my $req HTTP::Request->newGET => $url 'wp-admin');
    $req->content_type('application/x-www-form-urlencoded');
    my $res $user_agent->request$req );
    print 
    $res->as_string;
    Где вкралась ошибка?
    Попробовал тоже самое с гуглом - подставил кукисы англоязычного профайла, чтоб редериктело сразу на англоязычную версию, а не на локальную - с гуглом работает.
     
  11. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    попробуй передавать Refer
     
  12. Пыхпых Инъекцыч

    Joined:
    20 Jun 2007
    Messages:
    3
    Likes Received:
    1
    Reputations:
    0
    Спасибо, камрад - я что-то совсем реферы из виду упустил. Щас пашет )
     
    1 person likes this.
  13. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Есть например сайт site.com
    Я посылаю post запрос на сайт, сайт в ответ выдает кукисы и страницу.
    Как используя кукисы выданные сайтом сделать запрос к внутренней странице?
     
    _________________________
    1 person likes this.
  14. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    А что тебе мешает передать хидер Cookie на внутреннюю страницу?
     
  15. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    А можно пример?
     
    _________________________
  16. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    тут наверно вопрос в том как словить кукисы,
    use LWP::UserAgent;

    use HTTP::Cookies;

    my $useragent = LWP::UserAgent->new;

    my $cookies = HTTP::Cookies->new;

    $useragent->cookie_jar($cookies);

    my $request = $useragent->post('http://site/login.php',

    {username => $username,

    password => $password,
    })->as_string;

    и далее $useragent->post, $useragent->get любые запросы с куками
     
    1 person likes this.
  17. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    И ещё, помогите с регуляркой чтобы выдрать хэш из такого:
    Code:
      <form method="post" id="iRespect" name="iRespect" action="test.php">
      <table class="editor" style="margin-left:0px" border="0" cellspacing="0">
      <input type="hidden" id="subm" name="subm" value="124ced269d3aeddf3472d9f18a3eedc6" />
      <input type="hidden" id="act" name="act" value="change_resp" />
    
     
    _________________________
  18. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    my ($xew) = $html =~ /value="([a-z0-9]{32})"/;
     
  19. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Спасибо
     
    _________________________
    1 person likes this.
  20. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    + поиск всех вхождений образца!.
    Code:
    #!perl 
    use strict;
    use warnings;
    
    my $res = '  <form method="post" id="iRespect" name="iRespect" action="test.php">
      <table class="editor" style="margin-left:0px" border="0" cellspacing="0">
      <input type="hidden" id="subm" name="subm" value="124ced269d3aeddf3472d9f18a3eedc6" />
      [SIZE=1]<input type="hidden" id="subm" name="subm" value="e153ad7d20bb170d22a15589c72d984d" /> 
      <input type="hidden" id="subm" name="subm" value="8ac5925741f72d5d4acca9b740218198" /> [/SIZE]
      <input type="hidden" id="act" name="act" value="change_resp" />';
      
    my @hash = $res=~/value="([a-f0-9]{32})"/[COLOR=Green]g[/COLOR];
    while ( <@hash>)
    { 
        print $_,"\n";
    } 
     
Thread Status:
Not open for further replies.