Russian Qt Forum
Октябрь 02, 2024, 13:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Получение/передача cookies при работе с QWebView  (Прочитано 5099 раз)
PinkPanther
Самовар
**
Offline Offline

Сообщений: 169



Просмотр профиля
« : Июнь 09, 2013, 05:48 »

Подскажите пожалуйста Qt-метод решения задачи с использованием cookies:
1) При нажатии кнопки в окне приложения открывается окно QWebView, загружается сайт X.
2) На сайте пользователь вводит логин и пароль, авторизуется, и делает то, что ему нужно.
3) В конце работы он нажимает кнопку в основном окне, окно QWebView закрывается, его данные (логин-пароль) забираются, в форме cookies, сохраняются в реестре Windows (QSettings).
4) В окошке QListWidget появляется его логин, который он ввел на сайте X.
5) При двойном щелчке по логину снова открывается QWebView, тот же сайт X, но при этом программа должна взять его cookies из реестра, отдать их QWebView, или куда-то еще (деталей не знаю, т.к. с этими классами почти не работал), и загрузить сайт X так, чтобы пользователь был на нем авторизован, без ввода логина-пароля. То есть тот же вариант, что и с браузером, за исключением того, что в реестре может лежать множество cookies для входа на этот сайт, и при разных обстоятельствах будет осуществляться вход под разными логинами.
6) Было бы неплохо перед этим назначить заголовок, который бы обманывал сайт X, говоря ему о том, что используется Firefox, IE, Opera или что-то подобное, из известных браузеров. Было бы неплохо, но не критично, так что если это затруднительно, то и фиг бы с ним.

В принципе, ничего сложного, но я не знаю, как получить cookies из QWebView после авторизации, в форме какого класса, и как их потом отдать QWebView, чтобы он их использовал по назначению. Подскажите пожалуйста механизм.
Записан

Эвтаназия - наше хобби!
mutineer
Гость
« Ответ #1 : Июнь 09, 2013, 09:51 »

QWebPage * QWebView::page () const
QNetworkAccessManager * QWebPage::networkAccessManager () const
QNetworkCookieJar * QNetworkAccessManager::cookieJar () const

А вот как получить логин это уже хз
Записан
PinkPanther
Самовар
**
Offline Offline

Сообщений: 169



Просмотр профиля
« Ответ #2 : Июнь 09, 2013, 10:20 »

Спасибо!
Логин от cookies не нужен - он будет внутри урл-а, на известном месте.

Если я правильно понял, в cookiejar после авторизации пользователя будет все необходимое?
И если перед загрузкой второй раз помещу обьект в networkaccessmanager, сайт автоматически его авторизует?
Записан

Эвтаназия - наше хобби!
LSergey
Гость
« Ответ #3 : Июль 15, 2013, 15:39 »

Я использовал в проекте урезанный класс CookieJar с демо проекта TabBrowser
Там также реализованы функции сохранения/загрузки настроек.
Немного изменить - и получите искомый вариант, я надеюсь Подмигивающий
Записан
PinkPanther
Самовар
**
Offline Offline

Сообщений: 169



Просмотр профиля
« Ответ #4 : Июль 16, 2013, 12:23 »

Я использовал в проекте урезанный класс CookieJar с демо проекта TabBrowser
Там также реализованы функции сохранения/загрузки настроек.
Немного изменить - и получите искомый вариант, я надеюсь Подмигивающий

Спасибо большое!
Как дойдет очередь до этого куска, обязательно воспользуюсь Вашим советом.
Записан

Эвтаназия - наше хобби!
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 22.