Доброго времени суток! В наличии php 5.4, apache 2.4, мой личный аккаунт на hh.ru. Задача: получить доступ к страницам hh.ru из-под авторизованного пользователя. Никакого взлома или чужих аккаунтов не нужны – авторизация под своим собственным аккаунтом. Пробовал решить так: Код (PHP): <?php // ================================================== Config script ==================================================== error_reporting(E_ALL); ini_set('display_errors', true); ini_set('track_errors', true); ini_set('error_reporting', E_ALL); ini_set('display_startup_errors', true); ini_set('report_memleaks', true); ini_set('html_errors', true); restore_error_handler(); define('DIR_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR); $config = [ 'host' => 'http://spb.hh.ru/', 'cookie' => DIR_ROOT . 'cookie.txt', 'username' => 'foobar@gmail.com', 'password' => 'blowfish', ]; // ================================================== Global cURL config =============================================== $ch = curl_init(); // Global prefs $curlOptGlobal = [ CURLOPT_AUTOREFERER => 1, CURLOPT_COOKIEFILE => $config['cookie'], CURLOPT_COOKIEJAR => $config['cookie'], CURLOPT_COOKIESESSION => true, CURLOPT_FAILONERROR => 1, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HEADER => false, CURLOPT_HTTPHEADER => ['Expect:'], CURLOPT_REFERER => 'https://hh.ru/logon.do', CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_TIMEOUT => 999, CURLOPT_UNRESTRICTED_AUTH => true, CURLOPT_USERAGENT => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36', ]; curl_setopt_array($ch, $curlOptGlobal); // ================================================== Do auth ======================================================= // Verify $curlOptVerify = [ CURLOPT_URL => 'http://hhid.ru/validate/;http;hh.ru;80;/', ]; curl_setopt_array($ch, $curlOptVerify); curl_exec($ch); $resultVerify = (curl_errno($ch)) ? curl_error($ch) : curl_exec($ch); // Go to page $curlOptPage = [ CURLOPT_URL => 'http://hh.ru/', ]; curl_setopt_array($ch, $curlOptPage); curl_exec($ch); $resultPage = (curl_errno($ch)) ? curl_error($ch) : curl_exec($ch); // Do auth $curlOptAuth = [ CURLOPT_URL => 'https://hh.ru/logon.do', CURLOPT_POST => true, CURLOPT_POSTFIELDS => [ 'username' => $config['username'], 'password' => $config['password'], 'remember' => 'on', 'action' => 'Войти в личный кабинет', ], ]; curl_setopt_array($ch, $curlOptAuth); curl_exec($ch); $resultAuth = (curl_errno($ch)) ? curl_error($ch) : curl_exec($ch); // Go to page again $curlOptPageAgain = [ CURLOPT_URL => 'http://hh.ru/', CURLOPT_POST => false, ]; curl_setopt_array($ch, $curlOptPageAgain); curl_exec($ch); $resultPageAgain = (curl_errno($ch)) ? curl_error($ch) : curl_exec($ch); curl_close($ch); // ================================================== Output results =================================================== // echo $resultPage; // echo '<hr style="height:100px;width:102%;margin-left:-1%;background-color:#d8f;" />'; echo $resultAuth; // echo '<hr style="height:100px;width:102%;margin-left:-1%;background-color:#d8f;" />'; // echo $resultPageAgain; Однако, вижу страницу для авторизации. Доступ к кукам есть: $ sudo chmod 1777 cookie.txt В них есть несколько токенов и строка с "hhrole anonymous", что не ест гут. В какую сторону копать? Почему cURL не может авторизоваться и как это исправить? Копипаст печенек в случае с hh.ru не работает. cURL в процессе авторизации проходит по редиректам, но, похоже, отправляет невалидные данные? Спасибо.