Задать вопрос
@alexwprof

Как авторизоваться в контакте с помощью curl, не используя api?

Необходимо авторизоваться в контакте без api с помощью curl. Посмотрел очень много информации, все варианты уже не работают. Все данные отправляю, плюс подставляю хеши ip_h и lg_h. Отправляю нужные заголовки. Всё летит на адрес https://vk.com/login. Как и итог, не пускает.
Интересно, можно в 2019 году авторизоваться через curl в вк или нет? Может нет смысла и лучше использовать api контакта? Если у вас есть рабочий вариант на curl, поделитесь.
Использую код:
function get_content($url_auth, $auth_data = []){
    $ch = curl_init();
    curl_setopt  ($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch,CURLOPT_URL, $url_auth);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36");
    curl_setopt($ch, CURLOPT_REFERER,"https://vk.com");
    //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
    curl_setopt($ch,CURLOPT_COOKIEJAR, 'cs.txt');
    curl_setopt($ch,CURLOPT_COOKIEFILE, 'cs.txt');
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_ENCODING, "");
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt ($ch, CURLOPT_HTTPHEADER,
        [
            "Accept: */*",
            "Accept-Language: ru",
            "Cache-Control: max-age=259200",
            "Pragma: no-cache",
            "Via: 1.0 gsg-server.sitegroup:3129 (squid/2.6.STABLE5)",
            "X-Forwarded-For: 192.168.0.***",
            "Connection: Keep-Alive"
        ]

        );
    curl_setopt($ch,CURLOPT_POST, 1);
    curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($auth_data));
    $res = curl_exec($ch);
    curl_close($ch);
    return $res;
}

$url_auth = 'https://vk.com/login';
$url = 'https://vk.com/feed';
$auth_data = [
    "act" => "login",
    "role" => "al_frame",
    "expire" => "",
    "captcha_sid" => "",
    "captcha_key" => "",
    "_origin" => "https://vk.com",
    "ip_h" => "ef1366*****de28b0132",
    "lg_h" => "bb389*****bbcb9db4",
    "email" => "******@yandex.ru",
    "pass" => "*************",
    "recaptcha" => "",
    "ul" => "",
];

$data = get_content($url_auth, $auth_data);
$data = get_content($url);
var_dump($data);
  • Вопрос задан
  • 959 просмотров
Подписаться 2 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@dimmsan
Есть рабочий вариант, но там вход через m.vk.com, позволяет делать все тоже самое.
Библиотека из скрипта Simple HTML DOM
Скрипт не мой, автора не помню, находил вроде тоже здесь на Тостере.
Скрипт
Ответ написан
zorba_buddha
@zorba_buddha
IT
CURLOPT_REFERER точно правильный?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы