"; echo mysql_error(); exit; } mysql_select_db(DBName); function curl_redir_exec($ch) { static $curl_loops = 0; static $curl_max_loops = 20; if ($curl_loops++ >= $curl_max_loops) { $curl_loops = 0; return FALSE; } curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($ch); list($header, $data) = explode("\n\n", $data, 2); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($http_code == 301 || $http_code == 302) { $matches = array(); preg_match('/Location:(.*?)\n/', $header, $matches); $url = @parse_url(trim(array_pop($matches))); if (!$url) { //couldn't process the url to redirect to $curl_loops = 0; return $data; } $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL)); if (!$url['scheme']) $url['scheme'] = $last_url['scheme']; if (!$url['host']) $url['host'] = $last_url['host']; if (!$url['path']) $url['path'] = $last_url['path']; $new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . ($url['query']?'?'.$url['query']:''); curl_setopt($ch, CURLOPT_URL, $new_url); //debug('Redirecting to', $new_url); return curl_redir_exec($ch); } else { $curl_loops=0; return $data; } } // Создаем подключение if( $curl = curl_init() ){ // Нужно загрузить главную страницу curl_setopt($curl,CURLOPT_URL,'http://profit-partner.ru/'); // Нужно помнить кукисы! curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile"); // Скачанный код возвращаем в переменную а не в поток curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); // "Следовать туда, куда зовут". Если сервис выдает 302 код, мы следуем по этой ссылке //curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true); // Таймаут, если сервис не отвечает больше 30 секунд, выходим curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30); // Активируем GZIP сжатие трафика curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate'); // Соврем Профиту, напишем в юзер-агент неправду curl_setopt($curl,CURLOPT_USERAGENT,'Профит рулит'); // Если все ок, в $html вернется html код главной страницы // if( $html = curl_exec($curl) ){ if( $html = curl_redir_exec($curl) ){ // Указываем куда отправлять запрос curl_setopt($curl,CURLOPT_URL,'http://profit-partner.ru/user/auth/'); // Указываем подключению, что слать нужно не GET (по умолчанию), а POST запросы curl_setopt($curl,CURLOPT_POST,TRUE); // Указываем, что именно отправлять в POST данных, на этой стадии происходит ввод логина/пароля curl_setopt($curl,CURLOPT_POSTFIELDS,"login=$login&pwd=$pass&save=0&save=1&enter=Войти"); // Если все ок, в $html вернется html код главной страницы if( $html = curl_redir_exec($curl) ){ //Вытаскиваем нужные данные из страницы preg_match('|