Ну кто ж так делает, ну хоть бы написали решение, в чем была проблема..
Вот столкнулся с тем, что был у меня скрипт который с полгода назад отлично работал (проходил авторизацию на fl.ru), а сейчас - ни в какую.
Беру со страницы u-token, отправляю все необходимые параметры POST запросом (action=login&autologin=1, а так же пароль, логин), куки сохраняются (т.е. при каждой новой загрузке токен один и тот же), явных ошибок нет, но страница упорно загружается неавторизованной (главная).
В чем беда, никак не пойму.
Включал запись лога CURLOPT_STDERR в файл, там все проходит отлично, параметры отправляются...
Что ж делать-то? :unsure:
Вот код, проверьте кто-нибудь, по-возможности, пожалуйста:
include_once('simple_html_dom.php');
$cl = curl_init();
$email = 'example@email.com';
curl_setopt($cl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0");
curl_setopt($cl, CURLOPT_VERBOSE, true);
$verbose = fopen('logs/curl_fl.txt', 'w+');
curl_setopt($cl, CURLOPT_STDERR, $verbose);
curl_setopt($cl, CURLOPT_URL, 'https://www.fl.ru');
curl_setopt($cl, CURLOPT_REFERER, 'https://www.fl.ru/');
curl_setopt($cl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($cl, CURLOPT_HEADER,1);
curl_setopt($cl, CURLOPT_TIMEOUT, 10);
curl_setopt($cl, CURLOPT_COOKIEJAR, 'cookies/cookie_fl.txt');
curl_setopt($cl, CURLOPT_COOKIEFILE, 'cookies/cookie_fl.txt');
curl_setopt($cl, CURLOPT_POSTREDIR, 3);
curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, 0);
$data = curl_exec($cl);
$html = str_get_html($data);
$scripts = $html->find("script");
foreach ($scripts as $script){
preg_match("/_TOKEN_KEY\s+=\s+\'\w+\'/", htmlentities($script->innertext), $res1);
if (!empty($res1)) break;
}
$res1 = explode('=',$res1[0]);
$token = str_replace(array(' ','\''),"",$res1[1]);
curl_setopt($cl, CURLOPT_POST, 1);
curl_setopt($cl, CURLOPT_POSTFIELDS, 'https://www.fl.ru/login&action=login&autologin=1&login='.urlencode($email).'&passwd=******&u_token_key='.$token);
$data = curl_exec($cl);
curl_close($cl);
echo $data;