Всем привет. Необходимо авторизоваться на сайте с помощью Curl.
$curl = curl_init();
curl_setopt($curl, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($curl, CURLOPT_URL, 'https://sitename.com');
$html = curl_exec($curl);
- Получаю страницу авторизации
При авторизации отправляется 3 параметра (посмотрел через консоль). В url'е, на который отправляется, меняется get-параметр signin (не проблема, вытаскиваем со страницы авторизации), так же отправляется динамическое значение idsrv.xsrf (указано в скрытом поле, его тоже парсим и отправляем).
$post = 'idsrv.xsrf='.$idsrv_xsrf.'&Username=example@inbox.ru&Password=passwrd';
curl_setopt($curl, CURLOPT_URL, 'https://sitename.com/identity/login?signin='.$key.'&checkout=False&showAllOptions=False');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
$html = curl_exec($curl);
Сама проблема - до попытки авторизации всё проходит отлично, кукисы записываются в файл, страница парсится. Но, как только я пытаюсь отправить данные на авторизацию, приходит пустой ответ и в кукисы записывается "[]". В чём может быть проблема?
P.S. поле idsrv_xsrf обновляется постоянно, открывал исходный код с интервалом ~1 сек, значения были разные. Может ли быть проблема в этом? Заранее спасибо