Есть сайт diary[тчк]ru.Есть задача - по расписанию заходить в профили пользователей и делать что-то, несомненно важное. Как я думаю оно должно работать: 1. Загрузить главную страницу. Взять из неё число, в параметрах POST и число из скрытого поля. 2. Отправить логин, пароль, число из поля. 3. По циклу, загрузить пользователей и делать важное. Но что-то не выходит. Делаю вот так: PHP: <?php $ch = curl_init('https://www.diary.ru/'); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_HEADER,true); curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookieFile.txt");//создаю файл с куками $html = curl_exec($ch); curl_close; iconv($html,"windows-1251","utf8"); preg_match("/signature(.*?)</",$html,$m); $hq=mb_substr($m[1],2,34);//ключ preg_match('/login.php(.*?)method/s',$html,$m); $code=mb_substr($m[1],3,9);//скрытое поле $params = array(//POST 'user_login' => 'Entername', 'user_pass' => '123456', 'save' => 0, 'signature' => $code ); if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, 'https://www.diary.ru/login.php?hq'.$hq); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_HEADER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_COOKIEFILE, "/tmp/cookieFile.txt"); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_MAXREDIRS, 5); $out = curl_exec($curl); curl_close($curl); iconv($out,"windows-1251","utf8"); echo $out; } ?> И, вроде как, я должен видеть главную страницу, но уже авторизировавшись. Но нет. Что я делаю не так?
Но я же не нехорошее. Я только штуку для отслеживания подписчиков, взамен переставшей работать от Рётсуке. Да и вопрос не про парсинг, а про авторизацию.