QWebFrame load() не отправляет файлы cookie при начальной загрузке страницы

Я использую QtWebkit для реализации браузера на C++/Qt. Когда я открываю в ней новую вкладку с экземпляром QWebView и загружаю URL-адрес с помощью load(), страница загружается нормально, но когда это сайт, на котором я вошел в систему с помощью файлов cookie, это будет выглядеть так, как будто я не вошел в систему вообще, из-за того, что файлы cookie для этой страницы не отправляются вместе с HTTP-запросом (проверено с помощью SocketSniff).

Единственное, что, я думаю, может иметь значение, это созданный мной пользовательский cookiejar, но я не уверен, что это может быть, поскольку в противном случае cookiejar работает нормально. Вы можете найти полный исходный код по ссылке Github на странице проекта для браузера: http://www.mayaposch.com/wildfox.php и ссылку на Github: https://github.com/MayaPosch/WildFox

Любые подсказки приветствуются :)


person MayaPosch    schedule 29.09.2012    source источник


Ответы (1)


Ну наконец-то я узнал в чем проблема. Я сузил его до пользовательского файла cookiejar, который я реализовал, который имеет структуру в памяти, содержащую новые и используемые файлы cookie, и хранит файлы cookie, не относящиеся к сеансу, в структуре SQLite на диске. Проблема заключалась в том, что после первой загрузки сайта он находил куки в базе данных SQLite, загружал их в структуру in-memory, но не использовал их.

Небольшой сбой с большими последствиями, и его очень легко понять, как только вы приступите к нему. Мои искренние извинения за потраченное время на этот вопрос. Надеюсь, этот ответ поможет кому-то, хотя :)

person MayaPosch    schedule 02.03.2013