CURL

Discussion in 'PHP' started by Al-DoZoR, 28 Feb 2010.

  1. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    Есть сайт мне необходимо авторизоваться на этом сайте и когда я буду авторизованным нажать некую ссылку, как мне это сделать по средствам curl


    $url= "URL=http://name.ru/?login&name=SergP&password=5656&world=12"; // данные для авторизации
    $ch = curl_init ();
    curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1');
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'user_cookie_file.txt');
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'user_cookie_file.txt');
    curl_setopt($ch, CURLOPT_URL, 'http://name.ru/?buildup&pos=11&id=85');
    return curl_exec($ch);
    curl_close($ch);


    Что сдесь с куками не так?? .

    Подскажите кто чем может...
     
  2. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    function curl($url,$post)
    {
    $cfile = 'cookies.txt';
    .
    .
    .
    curl_setopt($ch, CURLOPT_COOKIEFILE,$cfile);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile );
    };
     
  3. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5

    А имитирование нажатие ссылки
    это или тут что то другое должно использоватьсяcurl_setopt($ch, CURLOPT_URL, 'http://name.ru/?buildup&pos=11&id=85');
     
  4. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    смотри- вот подходит к большинству


    function curl($url,$post)
    {
    $cfile = 'cookies.txt';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1. Gecko/20100202 Firefox/3.5.8");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
    }

    $a=curl ("рефер","ссылка авторизации");//авторизировались
    echo $a //проверим авторизировались или нет
    $b=curl ("рефер","ссылка которую нажимаем");//нажали на ссылку

    echo $b //проверим переход по ссылке
    P.S. Как-то так
    P.P.S Ты хоть снифаеш в каком виде и как отправляються данные на сервер и что он требует при подключении к нему?
     
    #4 Kusto, 28 Feb 2010
    Last edited: 28 Feb 2010
  5. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    Да снифаю, погоди 5 сек проверю все......
     
  6. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    Слушай не пойму, что по реффером понимаешь???
    Извини если уже тупые вопросы задаю=(((
     
    #6 Al-DoZoR, 28 Feb 2010
    Last edited: 28 Feb 2010
  7. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    а как ты снифаеш?))) refer - откуда пришол на данную страницу
     
  8. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    первый раз вижу авторизацию в адресе О_о
    сделай через форму и не ломай мозги
    типа такого
    PHP:
    <?php
    $ch
    =curl_init();
    curl_setopt($chCURLOPT_URL'адрес с формами');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS,'имена форм и что в них тыкать');
    curl_setopt($chCURLOPT_COOKIEJAR'cookies.txt');
    $result=curl_exec($ch);
    curl_setopt($chCURLOPT_URL'адрес,где надо быть уже авторизованным');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST0);
    curl_setopt($chCURLOPT_COOKIEFILE'cookies.txt');
    $result=curl_exec($ch);
    curl_close($ch);
    echo 
    $result;
    ?>
     
  9. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    короче- я чувствую что не так снифаеш))) обьясняю браузер мозила-инструменты-просмотр НТТР заголовков авторизируешся- смотриш отчет- найдеш там и что сервак требует от клиента и что ты на сервак отправляеш (там и рефер найдеш :D ), затем очистить все - кликаеш на ссылку и снова смотриш что записываеться в просмотре НТТР заголовков
     
  10. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5

    Нету у меня там HTTP заголовков, я через перехват данных смотреллл
     
  11. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    charles
     
  12. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    Имя заголовка запросп
    Host=
    User-Agent=
    Accept=
    Accept-Language=r
    Accept-Encoding=
    Accept-Charset=
    Keep-Alive=
    Connection=
    Referer=
    Cookie=


    Имя заголовка ответа
    Status=Moved temporarily - 302
    Date=Sun, 28 Feb 2010 19:05:33 GMT
    Server=Apache/2.2.14 (Win32)
    Set-Cookie=sessionId_=383_3128704597;expires=Fri, 31-Dec-2021 23:59:59 GMT
    Location=
    Cache-Control=max-age=0
    Expires=Sun, 28 Feb 2010 19:05:33 GMT
    Content-Length=0
    Keep-Alive=timeout=5, max=100
    Connection=
    Content-Type=
     
  13. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    Им я вобще не представляю как пользоваться=((
     
  14. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    что там не уметь?
    запускай,иди в браузер по умолчанию,делай там все это дело и смотри!
     
  15. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    Warning: curl_setopt() expects exactly 3 parameters, 2 given in Z:\home\curl.ru\www\index.php on line 10
    454 ms
     
  16. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5

    Он не запускаеться... чет то с JAVA требуе :mad: т....
     
  17. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    дай сайт и акк я те сам накатать попробую
     
  18. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5
    В личку отправил...
     
  19. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    PHP:
    <?php
    $login
    ='имя';
    $password='пароль';
    $ch=curl_init();
    curl_setopt($chCURLOPT_URL'http://wofh.ru/?login');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS,'login='.$login.'&password='.$password.'&world=w3.wofh.ru');
    curl_setopt($chCURLOPT_COOKIEJAR'Z:\home\localhost\www\cookies.txt');
    curl_setopt($chCURLOPT_URL'http://w3.wofh.ru/?login&name=ololo1&password=ololo');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS,'name='.$login.'&password='.$password.'');
    $result=curl_exec($ch);
    curl_setopt($chCURLOPT_URL'http://w3.wofh.ru/?town');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST0);
    curl_setopt($chCURLOPT_COOKIEFILE'Z:\home\localhost\www\cookies.txt');
    $result=curl_exec($ch);
    curl_close($ch);
    echo 
    $result;
    ?>
    писанины пять минут
     
    1 person likes this.
  20. Al-DoZoR

    Al-DoZoR Elder - Старейшина

    Joined:
    5 Jul 2007
    Messages:
    49
    Likes Received:
    4
    Reputations:
    -5

    Огромное спасибо!!!