cURL, блоги mail.ru

Discussion in 'PHP' started by FindeR, 15 Sep 2012.

  1. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Нужна помощь с постом в блоги mail.ru через cURL

    С авторизацией, вроде, нет проблем
    PHP:

    $cookies 
    ='./tmp/cookies.txt';
    $url 'http://win.mail.ru/cgi-bin/auth';

    $post = array(
        
    'page'        => 'http://blogs.mail.ru',
        
    'Login'        => '[login]',
        
    'Domain'    => 'mail.ru',
        
    'Password'    => '[password]',
        
    'level'        => 'off'
    );


    $ch curl_init();
    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_HEADER1);
    curl_setopt($chCURLOPT_TIMEOUT0);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
    curl_setopt($chCURLOPT_COOKIEJAR$cookies);
    curl_setopt($chCURLOPT_COOKIEFILE$cookies);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS$post);
    $result curl_exec($ch);
    cookies.txt заполнился, в $result падает страница авторизованного пользователя.

    Теперь переходим курлом на http://blogs.mail.ru/cgi-bin/journal/jupdate (добавление записи в блог), дёргаем переменные mna и mnb и id блога из html-кода,
    составляем post
    PHP:
    $day date('j');
    $month date('n');
    $year date('Y');
    $hour date('H');
    $minute date('i');

    $post = array(
    'mna' => $mna,
    'mnb' => $mnb,
    'post' => '',
    'postid' => '',
    'back' => '',
    'hidden_by_admin' => '',
    'text' => '',
    'test' => 'ТЕСТ',
    'plainmode' => '1',
    'HTMLMessage' => '0',
    'ProKey' => '1',
    'user' => '[user email]',
    'DefaultJournal' => $blog_id,
    'Subject' => 'Test blog title',
    'Body' => 'messagemessage',
    'orfo' => 'Русский язык',
    'Tags' => '',
    'MoodText' => '',
    'MoodID' => '0',
    'Wanna' => '',
    'Music' => '',
    'Day' => $day,
    'Month' => $month,
    'Year' => $year,
    'Hour' => $hour,
    'Minute' => $minute,
    'Access' => 'public',
    'GroupID' => '0',
    'NoComments' => '3',
    'show_comment' => '0',
    'CanVote' => 'default',
    'CanViewResults' => 'default',
    'add' => '1'
    );
    Отправляем всё это на http://blogs.mail.ru/cgi-bin/journal/jupdate, подцепив и файл с куками. По идее, должен отправиться пост, но получаем лишь страницу отправки поста с заполненными полями "Subject" и "Body".
    Причём, если отправить на http://blogs.mail.ru/cgi-bin/journal/jpreview (сюда попадаем нажав "Предпросмотр") - то превью отображается нормально, а вот отправляться не хочет.
    Кто имел дело с mail.ru - подскажите, в чём проблема запроса?
     
  2. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Рефер, юзер-агент не менял?
     
    _________________________
    2 people like this.
  3. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Подставлял рефку, как на реальном сайте и юзер-агент - без толку.
     
  4. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Заинтересовал ты меня =)
    Решил проверить, результат подобный, но при добавлении:
    Все отлично отработало...

    [​IMG]
     
    _________________________
    1 person likes this.
  5. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Чёрт побери, я подставлял рефку такую и useragent подобный - не работало. Видимо, я после этого код слегка изменил :) Сейчас снова вернул эти заголовки - всё ок. Спасибо тебе, добрый человек!
     
Loading...
Similar Threads - cURL блоги mail
  1. GAiN
    Replies:
    3
    Views:
    7,979