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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Куки в файл QNetworkAccessManager  (Прочитано 6647 раз)
anDROid
Гость
« : Декабрь 06, 2010, 14:36 »

С помощью QNetworkAccessManager выполнил запрос, получил куки,как сохранить их в файл,а потом использовать их оттуда?
Записан
ufna
Гость
« Ответ #1 : Декабрь 06, 2010, 16:50 »

Получаешь из QNAM текущие QNetworkCookieJar  путем cookieJar (), далее находишь нужный QNetworkCookie и сохраняешь его value ().
Записан
anDROid
Гость
« Ответ #2 : Декабрь 06, 2010, 19:20 »

Спс,с выводом печенек разобрался,сейчас буду разбираться с вводом...
Записан
anDROid
Гость
« Ответ #3 : Декабрь 06, 2010, 19:26 »

В каком виде лучше сохранять полученные куки,чтобы потом их было легче использовать?
Думаю может в виде "Set-Cookie:" а потом использовать QNetworkCookie::parseCookies?
Записан
ufna
Гость
« Ответ #4 : Декабрь 06, 2010, 20:20 »

А ввод обратен выводу - создается КукиДжар, в него пихаются нужные куки, создавая на основе данных, что сохранил.

По мне так лучше всего сохранять в бинарный файл данные, нужные для конструктора куков. Хотя дело вкуса.
Записан
anDROid
Гость
« Ответ #5 : Декабрь 06, 2010, 21:19 »

После использования QNetworkCookie::parseCookies вываливается вот такое чудо
Код:
Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly
RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly
Записан
Tonal
Гость
« Ответ #6 : Декабрь 07, 2010, 08:34 »

Я делаю вот так:
Код
Python
class NetworkCookieJar(QNetworkCookieJar):
 def __init__(self, parent=None, fname='cookies.txt'):
   super(NetworkCookieJar, self).__init__(parent)
   self.load(fname)
 
 def load(self, fname='cookies.txt'):
   if not exists(fname):
     return
   allC = tuple(
     cooky for li in file(fname)
     for cooky in QNetworkCookie.parseCookies(li.rstrip()))
   if allC:
     self.setAllCookies(allC)
 
 def save(self, fname='cookies.txt'):
   out = file(fname, 'w')
   allC = self.allCookies()
   for c in allC:
     print>>out, c.toRawForm()
 
Записан
anDROid
Гость
« Ответ #7 : Декабрь 07, 2010, 12:03 »

Сначала попробую по-своему...
Косяк нашел у себя...
Записан
anDROid
Гость
« Ответ #8 : Декабрь 07, 2010, 12:48 »

Спс всем,разобрался.
Записан
eldar85
Гость
« Ответ #9 : Декабрь 30, 2010, 19:27 »

а как решил то??? покажи пример...
Записан
eldar85
Гость
« Ответ #10 : Декабрь 30, 2010, 19:34 »

что  если вот так куки получить
Код:
cookie_loaded = reply->rawHeader("Set-Cookie");
то можно ли их потом вставить в QNAM???
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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