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

Авторизация ВК с помощью libcurl. Почему не отправляется форма?

Всем привет. В общем, авторизируюсь ВК с помощью libcurl. Поля email/pass заполняются успешно, но вот форма не отправляется(т.е. не редиректит). Вот код самого запроса:

CURL* curl = curl_easy_init();
	if (!curl) return {};

	std::string appId = "1"; // Свой appid скрыл

	CURLcode res;
	std::string request = "https://oauth.vk.com/authorize?client_id=" + appId + "&display=page&redirect_uri=vk.com/blank.html&scope=offline&response_type=token&v=5.64";
	std::string response;

	curl_easy_setopt(curl, CURLOPT_URL, request);
	curl_easy_setopt(curl, CURLOPT_POST, true);
	curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0");
	curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "email=1234567890&pass=123456"); // Свои данные тоже скрыл
	curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
	curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookies.txt");
	curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "cookies.txt");
	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, false);
	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
	curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
	curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, true);
	curl_easy_setopt(curl, CURLOPT_VERBOSE, true);

	res = curl_easy_perform(curl);
	
	curl_easy_cleanup(curl);


curl_easy_perform(curl) возвращает 0.
Вот лог CURLOPT_VERBOSE: https://pastebin.com/cCJZRNhF

Заранее спасибо!
  • Вопрос задан
  • 617 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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