постинг в phpbb

Discussion in 'PHP' started by Satell, 23 Apr 2007.

  1. Satell

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

    Joined:
    13 Jan 2007
    Messages:
    91
    Likes Received:
    5
    Reputations:
    1
    Пытаюсь программно отправить личное сообщение юзеру phpbb, в ответе возвращается такая хренатень
    где, чо не правильно, может уже гатовая программа есть для спама phpbb?

    HTTP/1.1 302 (Found) Connection: close Date: Sun, 22 Apr 2007 17:16:24 GMT Location: http://darknsk.com/forum/login.php?redirect=privmsg.php&folder=inbox&mode=post Server: Apache/2.0.54 (Debian GNU/Linux) mod_python/3.1.3 Python/2.3.5 PHP/4.3.10-16 mod_ssl/2.0.54 OpenSSL/0.9.7e mod_webapp/1.2.0-dev mod_perl/1.999.21 Perl/v5.8.4 Content-Type: text/html; charset=windows-1251 Client-Date: Sun, 22 Apr 2007 17:16:29 GMT Client-Peer: 217.70.119.172:80 Client-Response-Num: 1 Client-Transfer-Encoding: chunked X-Powered-By: PHP/4.3.10-16

    (при отправке сообщения в форум, похожая фигня вылезает)

    сама программа:

    Code:
    use LWP::UserAgent;
    use LWP::Simple;
    use HTTP::Request::Common;
    use HTTP::Cookies;
    use URI;
    
    $mainpath='d:\\';
    $url='http://darknsk.com/forum/privmsg.php';
    $pageref='http://darknsk.com';
    $userag='hui';
    
    $ua = LWP::UserAgent->new;
    $cookiepath=$mainpath."lwpcookies.txt";
    $ua->cookie_jar(HTTP::Cookies->new(file => $cookiepath, autosave => 1));  
    
    $h1 = new HTTP::Headers
    Accept => 'application/vnd.ms-excel, application/msword, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-comet, */*',
    User_Agent => $userag,
    Referer => $pageref;
    
    $req = new HTTP::Request ('POST', $url, $h1);
    $req->content_type('application/x-www-form-urlencoded');
    $req->content('username=DarkSilence&subject=test&addbbcode20=white&addbbcode22=10&addbbcodefontface=0&helpbox=Цвет шрифта: [color=red]текст[/color] Подсказка: можно использовать color=#FF0000&message=test3&folder=inbox&mode=post&sid=5864e05f6afb7c32282202648bfd1f75&post=Отправить');
    my $res = $ua->request($req);
    
    $otvet=$mainpath.'otvet.htm';
    open(OTVET,">$otvet") || die "otvet file open failed: $!";
    print OTVET $res->as_string;
    close OTVET;
    
     
  2. MegaDeth

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

    Joined:
    8 Nov 2006
    Messages:
    192
    Likes Received:
    71
    Reputations:
    13
    изучай бб. скрипт login.php дает тебе куку при успешной авторизации и идентификатор сессии, с этим уже обращаешся с privmsg.php
    лень изучать твою прогу, но я писал чтото подобное для пшп. найду - кину.
     
  3. Gh0s7

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

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242
    Сам скрипт тестировать не стал, но дам пару советов:

    1) При написании скриптов для веба (гб, форумов, голосовалок...) желательно поставит на локальный апач эту самую голосоваку\гб\форум.
    2) Если такой возможности нет, то юзай очень удобную дампилку пакетов в виде плагина для фф - LiveHTTPHeaders.
    3) Если что-то не работает, проделай это сначала в браузере, сорани ответы сервера, потом попытайся это накодить, если не получается - сравнивай ответы скрипту и браузеру.
     
  4. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    я так понял, возвращается страница с формой авторизации..
    думаю, стоит править авторизацию в твоем скрипте.
     
  5. Gh0s7

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

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242
    У него ее нет, он куки юзает.