За последние 24 часа нас посетили 62102 программиста и 1781 робот. Сейчас ищут 820 программистов ...

Авторизация через cUrl нужна помощь

Тема в разделе "Прочие вопросы по PHP", создана пользователем alekse1111, 24 фев 2015.

  1. alekse1111

    alekse1111 Новичок

    С нами с:
    23 фев 2015
    Сообщения:
    1
    Симпатии:
    0
    Помогите разобраться с авторизацеий через сURL. Опыта мало в php и потому прошу помощи у старших братьев показать где ошибочка.
    Код (Text):
    1.  
    2.  
    3. <?php
    4.  
    5. function get_web_page( $url )
    6. {
    7.   $uagent = "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14";
    8.  
    9.   $ch = curl_init( $url );
    10.  
    11.   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   // возвращает веб-страницу
    12.   curl_setopt($ch, CURLOPT_HEADER, 0);           // не возвращает заголовки
    13.   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   // переходит по редиректам
    14.   curl_setopt($ch, CURLOPT_ENCODING, "");        // обрабатывает все кодировки
    15.   curl_setopt($ch, CURLOPT_USERAGENT, $uagent);  // useragent
    16.   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
    17.   curl_setopt($ch, CURLOPT_TIMEOUT, 120);        // таймаут ответа
    18.   curl_setopt($ch, CURLOPT_MAXREDIRS, 10);       // останавливаться после 10-ого редиректа
    19.   curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
    20.  
    21.   $content = curl_exec( $ch );
    22.   $err     = curl_errno( $ch );
    23.   $errmsg  = curl_error( $ch );
    24.   $header  = curl_getinfo( $ch );
    25.   curl_close( $ch );
    26.  
    27.   $header['errno']   = $err;
    28.   $header['errmsg']  = $errmsg;
    29.   $header['content'] = $content;
    30.   return $header;
    31. }
    32.  
    33.  
    34. function auth($url)
    35. {
    36.   $uagent = "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14";
    37.   $ch = curl_init($url);
    38.   curl_setopt($ch, CURLOPT_URL,$url);
    39.   curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
    40.   curl_setopt($ch, CURLOPT_POST,1);
    41.    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    42.   curl_setopt($ch, CURLOPT_POSTFIELDS, "?login=guestlp@ezet.ru&pass=guest&remember=false");
    43.   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   // возвращает веб-страницу  
    44.   curl_setopt($ch, CURLOPT_USERAGENT, $uagent);  // useragent
    45.   curl_exec ($ch);
    46.   curl_close( $ch );
    47. }
    48. function islogined(){
    49. $result = auth("http://shop.armtek.by/");
    50. echo $result;
    51. $result = get_web_page( "http://shop.armtek.by/authorization/islogined" );
    52. if (($result['errno'] != 0 )||($result['http_code'] != 200))
    53.     {
    54.     echo $result['errmsg'];
    55.     }
    56. else
    57.     {
    58.     $page = $result['content'];
    59.     //echo $page;
    60.     }
    61.     $obj = json_decode($page);
    62.     $islogined = $obj->{'code'};
    63. //print $obj->{'code'};
    64.  
    65.  
    66. if($islogined=="1") return "1";
    67. else return "0";
    68. }  
    69. $retttt=islogined();
    70. if($retttt=="1"){
    71. echo "Вы не авторизированы";
    72. }
    73. else echo "Авторизация прошла успешно";
    74. $result = auth("http://shop.armtek.by/");
    75. echo $result;
    76. echo 111;
    77. $result = get_web_page( "http://shop.armtek.by/catalogsearch/vehicles_by_vin/?c=&vin=WAUBH54B11N111054&ssd=" );
    78. echo $result;
    79. //$vin = $_GET['vinkey'];
    80. //echo $vin;
    81.  
    82. ?>
     
  2. maxmuha

    maxmuha Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    107
    Симпатии:
    0
    Адрес:
    Мурманск
    Вопрос из CURLOPT_POSTFIELDS рекомендую убрать.
    И скорее всего нужно файл с куками добавить в функцию авторизации, но не факт!!!
    Т.к. возможно идет проверка, а возможно не идет )))