День добрый. Пытаюсь авторизаваться средствами php на сайте fl.ru ( дабы не просматривать каждый раз самому проекты, а получать на почту те, что наиболее подходят ) Сам сайт fl.ru без авторизации парсится без проблем. То есть такой код выводит главную страницу fl.ru: Код: $user_agent = 'User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.fl.ru'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $content = curl_exec($ch); curl_close($ch); echo $content; А такой выдает false. Код: $user_agent = 'User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2'; $ch = curl_init(); curl_setopt($ch, CURLOPT_COOKIESESSION, true); curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt'); // сохранять куки в файл curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt'); curl_setopt($ch, CURLOPT_URL, 'https://www.fl.ru/login/' ); // отправляем на curl_setopt($ch, CURLOPT_HEADER, 0); // пустые заголовки curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвратить то что вернул сервер curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // следовать за редиректами curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);// таймаут curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// просто отключаем проверку сертификата curl_setopt($ch, CURLOPT_POST, 1); // использовать данные в post curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'login' => 'my_login', 'passwd' => 'my_pass', 'recaptcha' => '03AGdBq26CWDGrG5nAAgDEJHJ6rZtQZavraATo-Jv7RlkIS3uDdNBWPSCxgw2ZpUyx4GURtqWgZDgAPW2R37zT0j9wEo8M-Gid4qlRR-ReTrD0gCC-xhbKAepG_tucV2h6VxWHeKFn0gzvF9psPKjsD5ccnNaNLaXhOqXr2tHvNB3HaE68lGz3XnEnqceAqGBxwTduCWHLpVx0zKvcUkGWJfgN9yodneWvo1exyHGxuI1MGGSPtftzX7ZJ06VUKlias-nlUc1AFrr4ScdnKsYEycdnqe9JzldT5Kv3wy3AzEDQJh8bNIg4Wn-IBELYdbRoR-Hqv0_xsvbT5YcBsdIy1LyObjKFESxQlNZ_npo-QvDe5NLb---4RrM', // взял из данных браузера при ручном входе 'u_token_key' => 'f011e39c87b888555d5a0838e87c4a63', // взял из данных браузера при ручном входе )); $content = curl_exec($ch); curl_close($ch); var_dump($content); Подскажите плиз кто в курсе вопроса?
Добрый день. не моджет быть чтобы код рекапчи был всегда один и тот же. Т.е. при каждом логине у вас другой ключ. скорее всего u_token_key тоже динамический.
всегда проверяйте и пишите об одном URL, какая разница что главная отдает 200 а страница с логином 403 (или 500), тестируйте в на одном роуте, ну и как подметил главнокомандующий, капча и токен как раз и созданы для того, чтобы ни DDoS не прошел и небыло брута кабинета, если используете софт (а-ля xevil), то нужно учитывать эти моменты и сперва их интеграцию в приложение настроить, а если просто скриптом на своем хосте чекаете, то скорее всего 500 ошибку получите, без авторизации на стороне FL. имхо.
У fl.ru есть RSS-ленты, можете без логина доставать инфу оттуда например. https://www.fl.ru/rss/all.xml?subcategory=172&category=3