Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2018, 00:05   #11
SadiQ228
Пользователь
 
Регистрация: 30.10.2017
Сообщений: 66
По умолчанию

я упразднил мою scope строку, там теперь без почты только "https://mail.google.com/";
и мой запрос выглядит так:
Код:
https://accounts.google.com/o/oauth2/v2/auth?scope=https%3A%2F%2Fmail.google.com%2F&response_type=code&redirect_uri=http://127.0.0.1:80/callback&client_id=*****************-61k0iihi77opr1itback9ce9o2jin57p.apps.googleusercontent.com
получаю положительные ответы сервера:
Цитата:
HTTP/1.1 302 Found
Content-Type: application/binary
Location: https://accounts.google.com/ServiceL...1&sarp=1&scc=1
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."
Content-Language: en-US
Content-Security-Policy: script-src 'report-sample' 'nonce-FcuupnmYVKG9L/GlNCaGqQcJK4o' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';object-src 'none';base-uri 'none';report-uri /o/cspreport
Date: Wed, 23 May 2018 21:01:45 GMT
Server: ESF
Content-Length: 0
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Set-Cookie: NID=130=FIYIHIyhar_WNwDV3Ir1geqW8tU LCSPMYTNuFAwXuQ_4uUUhQvlJyExvxvYFHC wMVrT176_gFeD-GJ7DmiQp511KVGtHC_uCECVVfUPEFl-T5xIM9ZW_UrAK3P5fX4DJ;Domain=.googl e.com;Path=/;Expires=Thu, 22-Nov-2018 21:01:45 GMT;HttpOnly
Alt-Svc: hq=":443"; ma=2592000; quic=51303433; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=":443"; ma=2592000; v="43,42,41,39,35"

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
X-Frame-Options: DENY
x-auto-login: realm=com.google&args=continue%3Dht tps%253A%252F%252Faccounts.google.c om%252Fo%252Foauth2%252Fv2%252Fauth %253Fscope%253Dhttps%253A%252F%252F mail.google.com%252F%2526response_t ype%253Dcode%2526redirect_uri%253Dh ttp%253A%252F%252F127.0.0.1%253A80% 252Fcallback%2526client_id%253D**** *********-61k0iihi77opr1itback9ce9o2jin57p.ap ps.googleusercontent.com%2526from_l ogin%253D1%2526as%253D4-vxNUlwOI8OJMJbYjukgQ
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Mon, 01 Jan 1990 00:00:00 GMT
Date: Wed, 23 May 2018 21:01:46 GMT
Transfer-Encoding: chunked
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy: script-src 'report-sample' 'nonce-swIBuvslY9fVVytY6pCS6aVw6ZI' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';object-src 'none';base-uri 'self';report-uri /cspreport
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Server: GSE
Set-Cookie: GAPS=1:D_QDXyq3DvjKVzo4qaTPB32Ker_5 LA:cpX2eTldx8WSl47i;Path=/;Expires=Fri, 22-May-2020 21:01:46 GMT;Secure;HttpOnly;Priority=HIGH
Alt-Svc: hq=":443"; ma=2592000; quic=51303433; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=":443"; ma=2592000; v="43,42,41,39,35"
после ответов сервака, в консоле вижу код страницы, я его сохранил в html файле
и вижу что там форма для авторизации, а скопировав ссылку в браузер я вижу что там надо разрешить приложению доступ...

вопрос - а как это сделать програмно на автомате? из под cURL чтобы? акцесс токен я так и не получил!

Последний раз редактировалось SadiQ228; 24.05.2018 в 02:08.
SadiQ228 вне форума Ответить с цитированием
Старый 24.05.2018, 04:29   #12
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Никак я думаю. Например, thunderbird выдает окошко с броузером, чтобы пройти эту самую фигню. Это специально сделано гуглом - иначе никак не пройдете (или ооочень сложно), там контроллируется наличие живого человека.
alexzk вне форума Ответить с цитированием
Старый 24.05.2018, 09:32   #13
SadiQ228
Пользователь
 
Регистрация: 30.10.2017
Сообщений: 66
По умолчанию

Цитата:
Сообщение от alexzk Посмотреть сообщение
Никак я думаю. Например, thunderbird выдает окошко с броузером, чтобы пройти эту самую фигню. Это специально сделано гуглом - иначе никак не пройдете (или ооочень сложно), там контроллируется наличие живого человека.
а как по средствам СИ выдать окошко с браузером? даже если я выдам это окошко, как cURL'ом ждать ответ от сервера, после подтверждения пользователем?
SadiQ228 вне форума Ответить с цитированием
Старый 24.05.2018, 10:45   #14
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от SadiQ228 Посмотреть сообщение
а как по средствам СИ выдать окошко с браузером? даже если я выдам это окошко, как cURL'ом ждать ответ от сервера, после подтверждения пользователем?
Никак, Си про окошки ничего не знает. В нем нет такого понятия. Вам нужно использовать какую-то библиотеку для окошек (wxWidgets, Qt) или напрямую вызов OS (не переносимо Windows/Unix). Можно еще тупо запустить браузер через какой-нибудь system, нооо..скорее всего юзер увидит +1 вкладку к уже 100 открытым. Можно попробовать встраиваемый хром (т.е. хром и будет той "библиотекой для окошек"), но это тоже +100мб к проекту.

Последний раз редактировалось alexzk; 24.05.2018 в 10:47.
alexzk вне форума Ответить с цитированием
Старый 24.05.2018, 10:48   #15
SadiQ228
Пользователь
 
Регистрация: 30.10.2017
Сообщений: 66
По умолчанию

Цитата:
Сообщение от alexzk Посмотреть сообщение
Никак, Си про окошки ничего не знает. В нем нет такого понятия. Вам нужно использовать какую-то библиотеку для окошек (wxWidgets, Qt) или напрямую вызов OS (не переносимо Windows/Unix). Можно еще тупо запустить браузер через какой-нибудь system, нооо..скорее всего юзер увидит +1 вкладку к уже 100 открытым.
мое приложение легитимно, и ничего страшного если юзер что то увидит, другое дело хочется оградить юзера от лишнего гемороя и движений, как бы вы поступили если бы перед вами стояла моя задача?(мне надо заходить на много почт, и проверять первое не прочитанное письмо) и как так выходит что програмно нельзя нажать на кнопку не понимаю))))
P.S. я говоорился... не СИ а C++ конечно же)

Последний раз редактировалось SadiQ228; 24.05.2018 в 10:52.
SadiQ228 вне форума Ответить с цитированием
Старый 24.05.2018, 10:50   #16
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от SadiQ228 Посмотреть сообщение
мое приложение легитимно, и ничего страшного если юзер что то увидит, другое дело хочется оградить юзера от лишнего гемороя и движений, как бы вы поступили если бы перед вами стояла моя задача?(мне надо заходить на много почт, и проверять первое не прочитанное письмо)
P.S. я говоорился... не СИ а C++ конечно же)
Я не знаю, какая у вас задача стоит. На С++ можно почту проверять на ардуино, а можно в сложном проекте с GUI, во втором случае, у меня уже было бы Qt, т.е. просто бери и делай окошко. А может вы вообще на визуалке пишите только под винду? Там тоже все есть.
alexzk вне форума Ответить с цитированием
Старый 24.05.2018, 11:01   #17
SadiQ228
Пользователь
 
Регистрация: 30.10.2017
Сообщений: 66
По умолчанию

насчет задачи я же написал, у меня есть список, там логины и пароли, надо зайти на каждую гмайл почлу и открыть первое не прочитанное письмо.
мне бы для визуалки под винду, подскажите технологию пару слов буквально я сам почитаю дальше? у меня винт ccд на 64 гб визуалка стоит а QT уже не влезет)
SadiQ228 вне форума Ответить с цитированием
Старый 24.05.2018, 11:11   #18
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от alexzk Посмотреть сообщение
может вы вообще на визуалке пишите только под винду? Там тоже все есть.
Нету там почти ничего.
MFC — тонкая обертка над ВинАпи.
WinForms/WPF — .NET, так что если их брать, то лучше сразу и C#.
Цитата:
Сообщение от SadiQ228 Посмотреть сообщение
мне бы для визуалки под винду, подскажите технологию
Qt

- Microsoft Visual Studio (Administrator) 2018-05-24 11.17.11.png
Цитата:
Сообщение от SadiQ228 Посмотреть сообщение
мне надо заходить на много почт, и проверять первое не прочитанное письмо
А разве там через IMAP нужен oAuth?

Если есть пароли от почт.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 24.05.2018 в 11:24.
Alex11223 вне форума Ответить с цитированием
Старый 24.05.2018, 11:32   #19
SadiQ228
Пользователь
 
Регистрация: 30.10.2017
Сообщений: 66
По умолчанию

Я не знаю, распологаю логином и паролем от своего ящика я побовал подрубиться по IMAP
лог консоли скидывать не буду, но там в конце самом написано
Цитата:
curl_easy_perform() failed: Login denied
вот код
Код:
 
int main()
{
    const char * login = "test@gmail.com";
    const char * password = "test";
 
        CURL *curl;
        CURLcode res = CURLE_OK;
 
        curl = curl_easy_init();
        if (curl) {
            curl_easy_setopt(curl, CURLOPT_USERNAME, login);
            curl_easy_setopt(curl, CURLOPT_PASSWORD, password);
            curl_easy_setopt(curl, CURLOPT_URL, "imaps://imap.gmail.com:993/INBOX/;UID=1");
            curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
            curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
            curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
            res = curl_easy_perform(curl);
            if (res != CURLE_OK)
                fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
            curl_easy_cleanup(curl);
        }
        return (int)res;
}
а на почту прилетает письмецо следующего содержания:
Цитата:
Review blocked sign-in attempt
Hi William,
Google just blocked someone from signing into your Google Account test@gmail.com from an app that may put your account at risk.
Less secure app
Friday, May 18, 2018 1:49 AM (Moscow Time)
St Petersburg, Russia*
Don't recognize this activity?
If you didn't recently receive an error while trying to access a Google service, like Gmail, from a non-Google application, someone may have your password.

SECURE YOUR ACCOUNT

Are you the one who tried signing in?
Google will continue to block sign-in attempts from the app you're using because it has known security problems or is out of date. You can continue to use this app by allowing access to less secure apps, but this may leave your account vulnerable.

The Google Accounts team
мне сказали что щас везде по умолчанию oauth2 стоит, и его либо отрубать самому ( что при объемах не возможно) либо через него коннектить, конечно если ест ьспособы легче лучше бы их. я то новичек.

насчет QT а как его интегрировать в визуалку? у меня нету такой вкладки
и что QT там мы веб вью смотрим и вводим сами в приложении пароль? а автоматом то на кнопку не нажать отпарсив нужное?

Последний раз редактировалось SadiQ228; 24.05.2018 в 11:34.
SadiQ228 вне форума Ответить с цитированием
Старый 24.05.2018, 11:48   #20
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Я не помню как выглядит окно OAuth, но думаю ничего особо сильно не мешает нажать там кнопку автоматически. Я бы взял C# + Selenium.
Цитата:
Сообщение от SadiQ228 Посмотреть сообщение
у меня нету такой вкладки
Поставить Qt (для вашей версии VS и битности) и Qt VS Tools.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cURL как отключить oauth? SadiQ228 C/C++ Сетевое программирование 1 19.05.2018 09:03
Как получить список таблиц другой базы Access anevgeniy69 Microsoft Office Access 2 12.11.2012 17:40
Фреймы как в gmail keen_ HTML и CSS 3 12.12.2011 01:19
Диалоговое окно как на Gmail или что-то подобное по дизайну zargandr1 HTML и CSS 9 11.12.2011 20:19
как анонимно зайти на gmail.com? linna Помощь студентам 2 27.05.2009 20:12