[help]сохранение cookies и редирект.

Тема в разделе "PHP", создана пользователем sw04, 28 май 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sw04

    sw04 seoplayer

    Регистр.:
    1 дек 2007
    Сообщения:
    601
    Симпатии:
    193
    собственно пытаюсь авторизоваться на liveinternet, но ругается на несохраненные cookies.
    вопрос как их сохранить, т.к. я уже все мозги себе (цензура) :)
    PHP:
    $ua 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
    $ch=curl_init ("http://www.liveinternet.ru/journals.php?s=&action1=login");
    curl_setopt ($chCURLOPT_HEADER1); 
    curl_setopt ($chCURLOPT_NOBODY1);
    curl_setopt($chCURLOPT_USERAGENT$ua); 
    ob_start(); 
    curl_exec ($ch);
    curl_close ($ch);

    $headers explode("\n"ob_get_contents());
    ob_end_clean();
    print_r($headers);
    for (
    $i=0$i<sizeof($headers); $i++)
    {
    if (
    strpos($headers[$i], 'Set-Cookie:') !== FALSE || strpos($headers[$i], 'set-cookie:') !== FALSE)
    {
    list(
    $field$cookie[]) = explode(' '$headers[$i]); // так можно получить куку (куки)
    }
    }
    print_r($cookie);

    $ref 'http://www.liveinternet.ru/journals.php?s=&action1=login'
    $ch=curl_init ("http://www.liveinternet.ru/member.php?rndm=1211994452");
    curl_setopt ($chCURLOPT_HEADER1); 
    curl_setopt($chCURLOPT_USERAGENT$ua);
    curl_setopt($chCURLOPT_REFERER$ref);
    curl_setopt($chCURLOPT_POST1); 
    curl_setopt($chCURLOPT_POSTFIELDS'action=login&url=/journal_post.php?journalid=2602216&username=iamsex&password=!!тут пароль!!'); //вот тут надо поредачить =)
    curl_setopt($chCURLOPT_FOLLOWLOCATION1); // это может понадобиться если будет редирект

    for ($i=0$i<sizeof($cookie); $i++)
    {
    curl_setopt($chCURLOPT_COOKIE$cookie[$i]); // шлём куку (куки)
    }

    curl_exec ($ch);
    curl_close ($ch);
    сначало открывается страница авторизации, принимаем и устанавливаем cookie(возможно не правильно), затем пытаемся авторизоваться.
     
  2. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Куки я храню так...
    PHP:
    curl_setopt($сhCURLOPT_COOKIEJAR'полный путь до куки');
    curl_setopt($chCURLOPT_COOKIEFILE'полный путь до куки');
    Пример... Незабудь создать файл cookies.txt и назначить права для записи
    PHP:
    curl_setopt($chCURLOPT_COOKIEJAR$_SERVER['DOCUMENT_ROOT'].'/cookies.txt');
    curl_setopt($chCURLOPT_COOKIEFILE$_SERVER['DOCUMENT_ROOT'].'/cookies.txt');
     
    phillip нравится это.
  3. sw04

    sw04 seoplayer

    Регистр.:
    1 дек 2007
    Сообщения:
    601
    Симпатии:
    193
    Разобрался.
    проблему с куками не решил, хоть в файл и пишется.
    как решил? не могу сформулировать :D
     
Статус темы:
Закрыта.