Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для dvano
136 / 67 / 27
Регистрация: 18.06.2014
Сообщений: 216

Не удается авторизироваться в VK

29.11.2015, 19:02. Показов 1730. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу у вас помощи. Мне нужно осуществить Oauth-авторизацию VK. После запроса

HTML5
1
https://oauth.vk.com/authorize?client_id=***&display=page&redirect_uri=***&scope=friends&response_type=token&v=5.40
появляется форма с вводом логина и пароля. Тут и начинаются проблемы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    const std::string email{"mgvano@mail.ua"};
    const std::string pass{"5kg96khtio96lfjvie8!593kg9,4imjdig9k4^9gdls04953lvnbls49a,b958hle
291237546"};
    const std::string vkauth_post{"_origin=http://vk.com&act=login&email=" + email + "&" + ip_h + "&" + lg_h + "&pass=" + pass + "&role=al_frame"};
    
    ::curl_easy_setopt(handle, CURLOPT_FOLLOWLOCATION, 1);
    ::curl_easy_setopt(handle, CURLOPT_COOKIEFILE, "cookie");
    ::curl_easy_setopt(handle, CURLOPT_COOKIEJAR, "cookie");
    ::curl_easy_setopt(handle, CURLOPT_HEADER, 1);
    ::curl_easy_setopt(handle, CURLOPT_VERBOSE, 1);
    ::curl_easy_setopt(handle, CURLOPT_AUTOREFERER, 1);
    ::curl_easy_setopt(handle, CURLOPT_URL, "https://login.vk.com");
    ::curl_easy_setopt(handle, CURLOPT_POSTFIELDS, vkauth_post.c_str());
    ::curl_easy_setopt(handle, CURLOPT_POSTFIELDSIZE, vkauth_post.length());
 
    ::curl_easy_perform(handle);
Вывод:
Кликните здесь для просмотра всего текста

* Hostname was NOT found in DNS cache
* Trying 87.240.131.97...
* Connected to oauth.vk.com (87.240.131.97) port 80 (#0)
> GET /authorize?client_id=***&display=page&red irect_uri=***&scope=friends&response_typ e=token&v=5.40 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
Host: oauth.vk.com
Accept: */*
Cookie: remixlang=1; remixlhk=ba2d3f6fc290aa96f4

< HTTP/1.1 200 OK
* Server Apache is not blacklisted
< Server: Apache
< Date: Fri, 27 Nov 2015 19:15:23 GMT
< Content-Type: text/html; charset=windows-1251
< Content-Length: 4815
< Connection: keep-alive
< X-Powered-By: PHP/3.19188
< Pragma: no-cache
< Cache-control: no-store
<
* Connection #0 to host oauth.vk.com left intact
* Rebuilt URL to: https://login.vk.com/
* Hostname was NOT found in DNS cache
* Trying 87.240.131.99...
* Connected to login.vk.com (87.240.131.99) port 443 (#1)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using ECDHE-RSA-AES256-GCM-SHA384
* Server certificate:
* subject: OU=Domain Control Validated; CN=*.vk.com
* start date: 2015-09-04 21:17:41 GMT
* expire date: 2018-09-16 11:56:55 GMT
* subjectAltName: login.vk.com matched
* issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certs.godaddy.com/repository/; CN=Go Daddy Secure Certificate Authority - G2
* SSL certificate verify ok.
> POST / HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
Host: login.vk.com
Accept: */*
Cookie: remixlang=1; remixlhk=ba2d3f6fc290aa96f4
Content-Length: 396
Content-Type: application/x-www-form-urlencoded

* upload completely sent off: 396 out of 396 bytes
< HTTP/1.1 302 Found
* Server Apache is not blacklisted
< Server: Apache
< Date: Fri, 27 Nov 2015 19:15:24 GMT
< Content-Type: text/html; charset=windows-1251
< Content-Length: 0
< Connection: keep-alive
< X-Powered-By: PHP/3.19188
< Pragma: no-cache
< Cache-control: no-store
< P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
< Location: http://vk.com/login.php?act=sl... %40mail.ua
<
* Connection #1 to host login.vk.com left intact
* Issue another request to this URL: 'http://vk.com/login.php?act=slogin&to=&s=0&sid=8355265 86863&dif=1&email=mgvano%40mail.ua'
* Violate RFC 2616/10.3.3 and switch from POST to GET
* Hostname was NOT found in DNS cache
* Trying 87.240.131.99...
* Connected to vk.com (87.240.131.99) port 80 (#2)
> GET /login.php?act=slogin&to=&s=0&sid=8355265 86863&dif=1&email=mgvano%40mail.ua HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
Host: vk.com
Accept: */*
Referer: https://login.vk.com/
Cookie: remixlang=1; remixlhk=ba2d3f6fc290aa96f4

< HTTP/1.1 200 OK
* Server Apache is not blacklisted
< Server: Apache
< Date: Fri, 27 Nov 2015 19:15:24 GMT
< Content-Type: text/html; charset=windows-1251
< Content-Length: 464
< Connection: keep-alive
< X-Powered-By: PHP/3.19188
< Pragma: no-cache
< Cache-control: no-store
< P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
* Added cookie remixmid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixmid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixsid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixsid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixsid6="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixsid6=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixgid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixgid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixemail="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixemail=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixpass="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixpass=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixapi_sid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixapi_sid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixpermit="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixpermit=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixsslsid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixsslsid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
<
* Connection #2 to host vk.com left intact

Что здесь не так?

Добавлено через 21 час 32 минуты
Вчера мне магическим способом удалось залогиниться, но, через некоторое время, я что-то сломал и не помню решение. Почему не устанавливаются куки? Как это исправить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    ::curl_easy_setopt(curl, CURLOPT_COOKIEFILE, cookie_file_name.c_str());
    ::curl_easy_setopt(curl, CURLOPT_COOKIEJAR, cookie_file_name.c_str());
 
    ::curl_easy_setopt(curl, CURLOPT_USERAGENT,
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36");
    ::curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
    ::curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 1);
    ::curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
    ::curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
    ::curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
 
    ::curl_easy_setopt(curl, CURLOPT_URL,
        "https://oauth.vk.com/authorize?client_id=5163278&display=page&redirect_uri=http://127.0.0.1/vk-auth&scope=friends&response_type=token&v=5.40");
 
    ::curl_easy_perform(curl);
 
    ::curl_easy_setopt(curl, CURLOPT_URL, "https://login.vk.com");
 
    const std::string auth_post{"_origin=https://oauth.vk.com&email=" + email + "&expire=0&" +
            ip_h + "&" + lg_h + "&pass=" + pass};
    ::curl_easy_setopt(curl, CURLOPT_POST, 1);
    ::curl_easy_setopt(curl, CURLOPT_POSTFIELDS, auth_post.c_str());
    ::curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, auth_post.length());
 
    ::curl_easy_perform(curl);
Результат:
Кликните здесь для просмотра всего текста

* Hostname was NOT found in DNS cache
* Trying 87.240.131.119...
* Connected to oauth.vk.com (87.240.131.119) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using ECDHE-RSA-AES256-GCM-SHA384
* Server certificate:
* subject: OU=Domain Control Validated; CN=*.vk.com
* start date: 2015-09-04 21:17:41 GMT
* expire date: 2018-09-16 11:56:55 GMT
* issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certs.godaddy.com/repository/; CN=Go Daddy Secure Certificate Authority - G2
* SSL certificate verify ok.
> GET /authorize?client_id=***&display=page&red irect_uri=***&scope=friends&response_typ e=token&v=5.40 HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
Host: oauth.vk.com
Accept: */*
Cookie: remixlang=1; remixlhk=6d009e5456b55c4212

< HTTP/1.1 200 OK
* Server Apache is not blacklisted
< Server: Apache
< Date: Sat, 28 Nov 2015 16:49:20 GMT
< Content-Type: text/html; charset=windows-1251
< Content-Length: 4838
< Connection: keep-alive
< X-Powered-By: PHP/3.19197
< Pragma: no-cache
< Cache-control: no-store
<
* Connection #0 to host oauth.vk.com left intact
* Rebuilt URL to: https://login.vk.com/
* Hostname was NOT found in DNS cache
* Trying 87.240.131.117...
* Connected to login.vk.com (87.240.131.117) port 443 (#1)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using ECDHE-RSA-AES256-GCM-SHA384
* Server certificate:
* subject: OU=Domain Control Validated; CN=*.vk.com
* start date: 2015-09-04 21:17:41 GMT
* expire date: 2018-09-16 11:56:55 GMT
* issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certs.godaddy.com/repository/; CN=Go Daddy Secure Certificate Authority - G2
* SSL certificate verify ok.
> POST / HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
Host: login.vk.com
Accept: */*
Cookie: remixlang=1; remixlhk=6d009e5456b55c4212
Content-Length: 270
Content-Type: application/x-www-form-urlencoded

* upload completely sent off: 270 out of 270 bytes
< HTTP/1.1 302 Found
* Server Apache is not blacklisted
< Server: Apache
< Date: Sat, 28 Nov 2015 16:49:20 GMT
< Content-Type: text/html; charset=windows-1251
< Content-Length: 0
< Connection: keep-alive
< X-Powered-By: PHP/3.19197
< Pragma: no-cache
< Cache-control: no-store
< P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
< Location: http://vk.com/login.php?act=sl... =1&to=&s=0
<
* Connection #1 to host login.vk.com left intact
* Issue another request to this URL: 'http://vk.com/login.php?act=slogin&role=fast&no_redire ct=1&to=&s=0'
* Violate RFC 2616/10.3.3 and switch from POST to GET
* Hostname was NOT found in DNS cache
* Trying 87.240.143.241...
* Connected to vk.com (87.240.143.241) port 80 (#2)
> GET /login.php?act=slogin&role=fast&no_redire ct=1&to=&s=0 HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
Host: vk.com
Accept: */*
Referer: https://login.vk.com/
Cookie: remixlang=1; remixlhk=6d009e5456b55c4212

< HTTP/1.1 200 OK
* Server Apache is not blacklisted
< Server: Apache
< Date: Sat, 28 Nov 2015 16:49:20 GMT
< Content-Type: text/html; charset=windows-1251
< Content-Length: 130
< Connection: keep-alive
< X-Powered-By: PHP/3.19197
< Pragma: no-cache
< Cache-control: no-store
< P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
* Added cookie remixmid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixmid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixsid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixsid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixsid6="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixsid6=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixgid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixgid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixemail="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixemail=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixpass="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixpass=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixapi_sid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixapi_sid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixpermit="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixpermit=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
* Added cookie remixsslsid="DELETED" for domain vk.com, path /, expire 1
< Set-Cookie: remixsslsid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com
<
* Connection #2 to host vk.com left intact



Добавлено через 23 часа 11 минут
Проблема решена, всем спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2015, 19:02
Ответы с готовыми решениями:

Не удается авторизироваться в стим
Здравствуйте,мой вопрос касается авторизации на сайте стима,сразу хочу сказать,что моя программа НЕ ЯВЛЯЕТСЯ брутфорсом или каким-либо...

Не получается авторизироваться
Всем доброго времени суток! Не могу понять почему не работает авторизация &lt;? function logged_in(){ return (isset($_SESSION)) ?...

Не могу авторизироваться
Привет всем. Есть ноут, на нем стоит Нортон-антивирус. В один прекрасный день случилось так, что не смог авторизироваться ни на мэйле,...

2
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
30.11.2015, 11:55
Цитата Сообщение от dvano Посмотреть сообщение
Проблема решена, всем спасибо.
Вы б указывали как решили проблему, мож кому пригодится.
0
 Аватар для dvano
136 / 67 / 27
Регистрация: 18.06.2014
Сообщений: 216
02.12.2015, 17:03  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Вы б указывали как решили проблему, мож кому пригодится.
Основная ошибка в неправильном URL post-запроса: https://login.vk.com нужно заменить на https://login.vk.com/?act=login, а в качестве полей передать:
soft=1&utf8=1&act=login&_origin=https://oauth.vk.com&ip_h=***&lg_h=***&email=cur l_easy_escape(***)&pass=curl_easy_escape (***)
, где ip_h и lg_h парсятся со страницы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.12.2015, 17:03
Помогаю со студенческими работами здесь

авторизироваться на 5 сайтах
Вот получил задачу зделать прогу которая должна сама авторизироваться на 5 сайтах. В строку поиска ввести определенное значение и нажать...

Не могу авторизироваться
создал статическую страницу авторизации на сайте, движек DLE 9.5, вот код: &lt;div class=&quot;auth&quot;&gt; &lt;form...

Программно авторизироваться на сайте
Добрый день. Столкнулся с проблемой авторизацией (HTTPS+captcha) есть страничка Авторизация в ПД никак не могу программно...

Payeer кошелек не дает авторизироваться
говорит у меня PBot на компьютере, Сейчас стоит Аваст, а был Касперский, не помогает, что делать?

WebBrowser не получается программно авторизироваться
Доброго времени суток. Есть сайт, на котором нужно программно авторизироваться на сайте https://mmotop.ru/users/sign_in . Никак не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru