$cookieFile = 'cookie.txt'; //файл для печенек
$account = ['email' => 'номер_телефона', 'pass' => 'пароль', 'submit' => 'Войти'];
$startUrl = 'https://m.vk.com';
$ua = 'Opera/9.80 (Android; Opera Mini/7.5.33361/31.1350; U; en) Presto/2.8.119 Version/11.11';
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_COOKIEJAR => $cookieFile,
CURLOPT_COOKIEFILE => $cookieFile,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => $ua,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_URL => $startUrl
]);
preg_match('~post" action="(.*?)"~s', curl_exec($curl), $urlStepTwo);
curl_setopt_array($curl, [
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $account,
CURLOPT_URL => $urlStepTwo[1]
]); //Отправляем POST с данными аккаунта
//Авторизовались, получаем главную страницу для проверки
curl_setopt_array($curl, [
CURLOPT_URL => $startUrl
]);
echo curl_exec($curl); //Ваша страница ВК
curl_close($curl);
Без FOLLOWLOCATION = Bad Request, так и не нашел почему. С ним - все ок, сразу после POST - можно выполнять авторизированные запросы.
Одно НО, с сервера Вы не авторизуетесь скорее всего, будет запрос на ввод номера.
---
Летом писал автоматическое получение токена к апи, по логину и паролю. Так работала авторизация и без FOLLOWLOCATION, жаль кода того не осталось.