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

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

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

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    mazaxaka,
    Для твиттера вместо строк

    "session%5Busername_or_email%5D" => $mail,
    "session%5Bpassword%5D" => $pass,
    "commit" => "Sign+In"

    напиши

    "session[username_or_email]" => $mail,
    "session[password]" => $pass,
    "commit" => "Sign In"

    В скайпе, если нет переменной blackbox в исходнике, скорее всего она генерится джава скриптом...
     
  2. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0

    На твитере пробываль таже фигня.


    над скайпом немного пошаманил теперь выдает
    You have cookies disabled in your browser. You need to enable cookies for skype.com before signing in
    хотя куки включены
     
  3. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Code:
    #!/usr/bin/perl   
    
    use LWP::UserAgent;
    use HTTP::Cookies;
    
    my $ua = LWP::UserAgent->new;
    $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19");
    my $cookie = HTTP::Cookies->new();
    $ua->cookie_jar($cookie);
    
    
    my $login = '';
    my $pass = '';
    
    
    my $ex = $ua->get('https://twitter.com/login')->content();
    
    my ($auth) = $ex =~ /<input name=\"authenticity_token\" value=\"(.+?)\" type=\"hidden\"\/>/;
    
    
      $ex = $ua->post('https://twitter.com/sessions',
    
    	[
    
    	'authenticity_token' => $auth, 
    	'authenticity_token' => $auth, 
    	'session[username_or_email]' => $login, 
    	'session[password]' => $pass, 
    	'remember_me' => '1', 
    	'commit' => 'Sign In'
    
    	],
    
    	Referer => 'https://twitter.com/login'
    
      )->content();
    
    
    $ex = $ua->get('http://twitter.com/')->content();
    
    		
    open(OUT, '> result.htm');
    print OUT "$ex\n";
    close(OUT);
    
     
    
     
  4. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    юлагодарю. работает.
    только не пойму. отличие только в методе получения страници
    и добавлении рефа. попробовал изменить свой код не работает. заменил куском вашего. работает. не пойму где в моем ошибка. если не сложно ткине носом
    PHP:
    my $ex $ua->get('https://twitter.com/login')->content();

    my ($auth) = $ex =~ /<input name=\"authenticity_token\" value=\"(.+?)\" type=\"hidden\"\/>/;


      
    $ex = $ua->post('https://twitter.com/sessions',

        [

        'authenticity_token' => 
    $auth
        'authenticity_token' => 
    $auth
        'session[username_or_email]' => 
    $login
        'session[password]' => 
    $pass
        'remember_me' => '1', 
        'commit' => 'Sign In'

        ],

        Referer => 'https://twitter.com/login'

      )->content();
     
  5. dpe_x

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

    Joined:
    8 Sep 2010
    Messages:
    155
    Likes Received:
    35
    Reputations:
    14
    Помогите с веб авторизацией на mail.ru.

    Code:
    my $ex = $ua->request(POST 'http://win.mail.ru/cgi-bin/auth', ['Login' => $login, 'Domain' => $domain, 'Password' => $pass]);
    простой пост запрос ..
    них.. не понятно почему не работает.
    $login, $domain, $pass - Вроде вырезал правельно..
     
  6. NemTaq

    NemTaq Member

    Joined:
    11 Aug 2010
    Messages:
    115
    Likes Received:
    19
    Reputations:
    14
    dpe_x, http://webmastak.com/article.aspx?id=44
     
  7. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    хм.. какойто глюк у меня с аторизацией ВК

    авторизация проходит. проверял. идет проверка гуд\бед. когда гуд допустим нужно страницу получить. но при получении етой странии получается что я не авторизирован
    use HTTP::Cookies; подключен
     
  8. j0ker13

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

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    скрипт просто выполняется - но в выводе ничего нет
    ошибок нет
    в чем трабла?
     
  9. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    с много поточой авторизацией все понятно. сейчас столкнулся что нужно спарсить много страниц. с одного сайта хотел сделать потоки. но какаето лажа. если 5 потоков допустим. он 1 страницу сохраняет 5 раз.получается потоки не работают паралельно друг другу. вот код
    Code:
    		threads->new(\&main) for 1 .. $threads;
    $_->join for threads->list;
    sub main
    {
        my $ua = LWP::UserAgent->new(timeout => 35,
                                     cookie_jar => new HTTP::Cookies,
                                     agent => agent());
        while($x<500)
        {
            
    
               
            my $resp = $ua->get("сайт=номер страници=$x")->as_string;
    
    if ($resp =~ "Ваш запрос не может быть обработан")
    { 
        print "kan4a!!\n";
        }
        else  { 
         $x++;
                 # wf($file2, $resp);              
    my (@ids) = $resp =~ /"([0-9]{1,10})" target="_blank">/gc;
    $, = "\n";
    print @ids, "\n";
    wf($file, join ("\n", @ids)."\n");
    print "CtpaHica $x\n";
    } 
    }        
    }
     
  10. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    как от сервера получить только хидеры?
    status_line
    code
    первые 2 не ловят лихеды
    content
    as_string
    ети не подходят сильно много трафика кушают
     
  11. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    headers_as_string();
     
  12. Дирижабль

    Дирижабль [ ✯✯✯ Ядерный Суицид ✯✯✯ ]

    Joined:
    6 Jan 2010
    Messages:
    369
    Likes Received:
    346
    Reputations:
    292
    Вопрос..
    допустим сканер сканирует на ошибку "root:x:" как сделать чтобы он сканировал и на другое типа "RewriteEngine" и т.д..
    заранее спасибо
     
  13. dpe_x

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

    Joined:
    8 Sep 2010
    Messages:
    155
    Likes Received:
    35
    Reputations:
    14
    "or" не работает ? )
     
  14. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    content =~ /root:x:|RewriteEngine/
     
    1 person likes this.
  15. Дирижабль

    Дирижабль [ ✯✯✯ Ядерный Суицид ✯✯✯ ]

    Joined:
    6 Jan 2010
    Messages:
    369
    Likes Received:
    346
    Reputations:
    292
    ога, спасибо буду пробовать.
     
  16. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    вот решил попробывать накрутить так.ру но он чтото ругается постояно что переход заблокирвоан. вот такой кусок скрипта. где получаю сылку и пытаюсь перейти
    Code:
    my $resp = $ua->get("http://мой сайт/index.php")->as_string;
     $resp = $ua->get("http://z650.takru.com/in.php?id=657296")->as_string;
           my ($sk) = $resp =~ /key=([0-9]{49})/smi;
           print $sk;
         $resp = $ua->post("http://z650.takru.com/cl.php?key=$sk&pg=http://o-games.org.ua/",
         Referer => 'http://мой сайт'
      )->as_string;
           
      wf($file, $resp);
    
    кто сталкивался. какие идеи?
     
  17. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    многопоточность.
    нужно много поточно разослать сообщения с одного ака. комент в средине кода
    PHP:
    open(my $ids'<'$file) or die $!;
    threads->new(\&main) for .. $threads;
    $_->join for threads->list;
    sub main
    {
        
    my $ua LWP::UserAgent->new(timeout => 35,
                                     
    cookie_jar => new HTTP::Cookies,
                                     
    agent => agent());
        while(@
    mails)
        {
            if(
    $proxy_mode eq 'ON')
            {
                
    until(proxy($ua)){}
            }
            
    my ($mail$pass) = split $delm => shift @mails;
       
            
    my $resp $ua->post("авторизация",])->as_string;


    if (
    $resp =~ "domain=.")
             {

                  
                  while (<
    $ids>) {
        
    chomp;
        
    $resp $ua->get("http://сайт/usercontact/")->as_string;
        if (
    $resp =~ "Ваш запрос не может быть обработан")
        { 
        print 
    "kan4a cyka!!\n";
        
    sleep 5;
        }
        
                 else  { 
    вот тут нужно чтобы была много поточная разсылка с 1 ака.
     
    как ето сделать чтото не могу сам понятьс многопоточной 
    авторизацией все понятно
    а вот как авторизирвоатся 1 аком
     и многопоточно разсылать 
    не могу сообразить.
                      
                 
    $resp $ua->post("отсылаем",
                 [
    "ajax" => "true",
    "ownerId" => "$_",
    "text" => 'меседж',
    "display" => "widget",,])->as_string;
                 print 
    "$_\n";
                 
                 
                 }
    }
    close $ids;
           

    wf($good_mails"$mail;$pass\n");
                print 
    "[ + ] $mail;$pass\n";
               
             }
            else
            {
                print 
    "[ - ] $mail;$pass\n";
            }
             }
    }
     
  18. [none]

    [none] Banned

    Joined:
    22 Nov 2009
    Messages:
    83
    Likes Received:
    26
    Reputations:
    -6
    вобщем в текстовике запись $slovo='infa'
    нужно убрать все кроме infa
    Code:
    $lop=~ s/\$slovo\[]=\'//;
    в результате остаётся infa' как убрать в конце '
    пишу после \' опять \' ну эт естествено не работает
     
    #1678 [none], 6 Nov 2010
    Last edited: 6 Nov 2010
  19. [none]

    [none] Banned

    Joined:
    22 Nov 2009
    Messages:
    83
    Likes Received:
    26
    Reputations:
    -6
    ну и еще вот
    Текстовик
    $slovo[]='lololol'
    $slovo[]='agagag'
    $slovo[]='авыаы'
    ---------------------------------
    в результате почему то получается только
    lololol' и все
    как сделать что бы дальше читал
     
  20. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Если правильно тебя понял:
    Code:
    #!/usr/bin/perl 
    
    open(F, 'dir.txt'); 
    chomp(@mass = <F>);
    close(F);
    
    open(OUT, '>> out.txt');
    
    foreach (@mass)
         {
    	$_=~ /\$slovo\[\]='(.+?)'/;
    	print OUT $1."\n";
         }
    
    close(OUT);
    
     
    1 person likes this.
Thread Status:
Not open for further replies.