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

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

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

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

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    @razdel = split(/@/,$string);
    split(/:/,$razdel[1]);

    Вроде бы так о_0.
    Как на perl'e точно, не знаю, на PHP знаю.
     
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Code:
    $choice = '[email protected]:pass';
    $choice =~ m/(.*)@(.*):(.*)/img;
    print $1 . " - " . $2 . " - " . $3;
    
     
  3. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Code:
    $str = 'логин@домен:пароль';
    $str =~ /^(.+?)@(.+?):(.+?)$/;
    
    $login = $1;
    $domail = $2;
    $pass = $3;
     
  4. ProfBiss

    ProfBiss New Member

    Joined:
    13 Mar 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Спс
     
  5. maxya

    maxya New Member

    Joined:
    15 Feb 2010
    Messages:
    55
    Likes Received:
    4
    Reputations:
    -1
    AMN накрутчик

    Пытаюсь сделать накрутчик рекламы AMN (adlabs)
    Пример сайта с рекламой - _http://nadietah.ru (рекламный блок справа).
    Почему-то при таком соединении с сайтом, рекламный блок не выводится.

    Code:
    my $ua = LWP::UserAgent->new(timeout => 15,
                            cookie_jar => new HTTP::Cookies,
                            Referrer => 'http://nadietah.ru',
                            agent => agent()); #рендомно агент
            #until(proxy($ua)){};
            print "\nConnecting to site: $siteurl \n";
            my $res = $ua->get($siteurl);
            #$_ = $res->content;
            #my @alllinks = /href="(.+?)"/gi;
            my @alllinks = $res->content =~ /href="(.+?)"/gi;
            print "Got ".scalar @alllinks . " links\nProcessing...\n";
            my @luxlinks;
            foreach $key (@alllinks)
            {               
                    $key = $key =~ /href=\"(.+?luxup.+?)\"/;
                    print "$key\n" if $key;
            }
    
    
    В чем подвох?
    Спасибо ;)
     
  6. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Реклама на сайте выводится с помощью javascript
     
    _________________________
  7. maxya

    maxya New Member

    Joined:
    15 Feb 2010
    Messages:
    55
    Likes Received:
    4
    Reputations:
    -1
    А как его (js) заставить исполнится и отрендерить нужный html ?
     
  8. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Либо использовать модули эмулирующие выполнение js, либо смотри какие запросы шлет браузер, чтобы получить рекламу
     
    _________________________
  9. taxpayer

    taxpayer Member

    Joined:
    17 Jan 2010
    Messages:
    31
    Likes Received:
    7
    Reputations:
    3
    :(
    my ($a, $b, $c) = split '@|:' => 'a@b:c'
     
  10. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Чем этот вариант лучше?
     
    _________________________
  11. taxpayer

    taxpayer Member

    Joined:
    17 Jan 2010
    Messages:
    31
    Likes Received:
    7
    Reputations:
    3
    Потому что для этого придумали сплит, обёртку уже на регекспах
     
  12. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Сплит медленнее работает в данном случае
     
    _________________________
  13. taxpayer

    taxpayer Member

    Joined:
    17 Jan 2010
    Messages:
    31
    Likes Received:
    7
    Reputations:
    3
    http://kaimi.ru/wp-content/uploads/2010/03/odsender_b.zip

    Почему же у тебя тут сплитов столько?
     
  14. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Потому что я не использую конструкцию
    Code:
    split '@|:'
    
    Из-за которой сплит медленнее отрабатывает
     
    _________________________
  15. taxpayer

    taxpayer Member

    Joined:
    17 Jan 2010
    Messages:
    31
    Likes Received:
    7
    Reputations:
    3
    т.е. сплит с одним разделителем быстрее голого регекспа?
     
  16. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Бенчмарк считает что так
     
    _________________________
  17. taxpayer

    taxpayer Member

    Joined:
    17 Jan 2010
    Messages:
    31
    Likes Received:
    7
    Reputations:
    3
    т.к. функция сплит построена на регекспах, она не может быть быстрее голых регекспов
     
  18. maxya

    maxya New Member

    Joined:
    15 Feb 2010
    Messages:
    55
    Likes Received:
    4
    Reputations:
    -1
    phpBB ПМ

    Доброе время суток атач!
    Пишу скриптик для пропоганды материалов партнерки через ПМ :D
    Сайт работает на phpBB. Уже успешно залогинился. Добрался до страницы отправки ПМ и наткнулся снифером заголовков на:
    Code:
    Content-Type: multipart/form-data; boundary=---------------------------31316206715786
    Content-Length: 1637
    -----------------------------31316206715786
    Content-Disposition: form-data; name="username"
    
    Âëàäî÷êà
    -----------------------------31316206715786
    Content-Disposition: form-data; name="subject"
    
    Áó-ãà-ãà
    -----------------------------31316206715786
    Content-Disposition: form-data; name="addbbcode18"
    
    #444444
    -----------------------------31316206715786
    Content-Disposition: form-data; name="addbbcode20"
    
    12
    -----------------------------31316206715786
    Content-Disposition: form-data; name="helpbox"
    
    Ðàçìåð øðèôòà: [size=x-small]ìàëåíüêèé òåêñò[/size]
    -----------------------------31316206715786
    Content-Disposition: form-data; name="message"
    
    Âîò òàêàÿ õóéíÿ :)
    -----------------------------31316206715786
    Content-Disposition: form-data; name="add_attachment_body"
    
    0
    -----------------------------31316206715786
    Content-Disposition: form-data; name="posted_attachments_body"
    
    0
    -----------------------------31316206715786
    Content-Disposition: form-data; name="fileupload"; filename=""
    Content-Type: application/octet-stream
    
    
    -----------------------------31316206715786
    Content-Disposition: form-data; name="filecomment"
    
    
    -----------------------------31316206715786
    Content-Disposition: form-data; name="folder"
    
    inbox
    -----------------------------31316206715786
    Content-Disposition: form-data; name="mode"
    
    post
    -----------------------------31316206715786
    Content-Disposition: form-data; name="sid"
    
    9139ceb142e497a014214cdc9eacffb4
    -----------------------------31316206715786
    Content-Disposition: form-data; name="post"
    
    Îòïðàâèòü
    -----------------------------31316206715786--
    
    
    Я уже наловчился обрабатывать однострочные POST запросы, а-ля
    Code:
    $res = $ua->post($log_url,
                    ['username' => $login,
                    'password' => $pass,                
                    'login' => $log_text
                     ],);
    
    но многострочных еще не видел :confused:

    Как с ними работать? :confused:
    Если не трудно, то можно небольшой примерчик :D
    Спасибо ;)
     
  19. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Code:
    $res = $ua->post($log_url,
                    ['username' => 'Âëàäî÷êà',
                    'subject' => 'Áó-ãà-ãà',                
                    'addbbcode18' => '#444444'
    
                     и т.д.
    
                     ],);
     
  20. maxya

    maxya New Member

    Joined:
    15 Feb 2010
    Messages:
    55
    Likes Received:
    4
    Reputations:
    -1
    Fepsis, спасибо за шустрый ответ
    получается отправлять точно так же ? :)
    А в чем же тогда разница пост запросов, скажем с таким?
    username=Krevedko&password=123&redirect=&login=%C2%F5%EE%E4
    т.е. почему сниффер по разному отображает?
    потому что тот большой и мультистрочный? :)
    что погуглить?
     
Thread Status:
Not open for further replies.