Помогите разобраться с авторизацеий через сURL. Опыта мало в php и потому прошу помощи у старших братьев показать где ошибочка. Код (Text): <?php function get_web_page( $url ) { $uagent = "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14"; $ch = curl_init( $url ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'); $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } function auth($url) { $uagent = "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "?login=guestlp@ezet.ru&pass=guest&remember=false"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent curl_exec ($ch); curl_close( $ch ); } function islogined(){ $result = auth("http://shop.armtek.by/"); echo $result; $result = get_web_page( "http://shop.armtek.by/authorization/islogined" ); if (($result['errno'] != 0 )||($result['http_code'] != 200)) { echo $result['errmsg']; } else { $page = $result['content']; //echo $page; } $obj = json_decode($page); $islogined = $obj->{'code'}; //print $obj->{'code'}; if($islogined=="1") return "1"; else return "0"; } $retttt=islogined(); if($retttt=="1"){ echo "Вы не авторизированы"; } else echo "Авторизация прошла успешно"; $result = auth("http://shop.armtek.by/"); echo $result; echo 111; $result = get_web_page( "http://shop.armtek.by/catalogsearch/vehicles_by_vin/?c=&vin=WAUBH54B11N111054&ssd=" ); echo $result; //$vin = $_GET['vinkey']; //echo $vin; ?>
Вопрос из CURLOPT_POSTFIELDS рекомендую убрать. И скорее всего нужно файл с куками добавить в функцию авторизации, но не факт!!! Т.к. возможно идет проверка, а возможно не идет )))