За последние 24 часа нас посетили 17117 программистов и 2181 робот. Сейчас ищут 920 программистов ...

cURL и 302

Тема в разделе "PHP для новичков", создана пользователем gkhelloworld, 31 июл 2010.

  1. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    Делаю запрос на страницу с куками и получаю ответ 302

    Код (Text):
    1. Found
    2. The document has moved here.
    3.  
    4. Additionally, a 302 Found error was encountered while trying to use an ErrorDocument to handle the request.
    Пример с Class: HTTP_Request2
    PHP:
    1. <?php
    2. $config = array(
    3.         'adapter'           => 'HTTP_Request2_Adapter_Socket',
    4.         'connect_timeout'   => 10,
    5.         'timeout'           => 0,
    6.         'protocol_version'  => '1.1',
    7.         'strict_redirects'  => true
    8.     );
    9.    
    10. $request = new HTTP_Request2('http://myaccount.livejournal.com/');
    11.  
    12. $request->setMethod("GET");
    13. $request->setConfig($config);
    14. $request->addCookie("ljmastersession","v1:u28951603:s302:ajTqHYKXrGk//Thanks%20for%20signing%20in%20/%20LiveJournal%20loves%20you%20a%20lot%20/%20Here%20have%20a%20cookie");
    15. $request->addCookie("ljloggedin","u28951603:s302");
    16. return $request->send()->getBody();
    Такой вариант выходит и с cURL

    Пример с cURL
    PHP:
    1. <?php
    2. $cookie_string = //тут нужные куки для авторизации;
    3.        
    4.  
    5. $url = "http://myaccount.livejournal.com/";
    6.         $ch = curl_init ();
    7.         curl_setopt ( $ch, CURLOPT_URL, $url);
    8.         curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    9.         curl_setopt ( $ch, CURLOPT_AUTOREFERER, TRUE );
    10.         curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 30 );
    11.        
    12.        
    13.         curl_setopt ( $ch, CURLOPT_COOKIE, $cookie_string );
    14.         curl_setopt ( $ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
    15.         $ret = curl_exec ( $ch );
    16.         $info = curl_getinfo($ch);
    17.         curl_close ( $ch );
    18.        
    19.         return $ret;
    Идую я думаю вы поняли, я эмулирую авторизации тем самым должен попасть авторизованный на страницу через PHP
    Интересно, то что на главную старницу я могу попасть авторизованный без проблем!
    http://www.livejournal.com/ <--- главная страница

    вопрос в том, где я ошибся? может я как-то не правильно редирект проставил.. в общем я все перепробовал , и обращаюсь к Вам