Cookies mit dem QNetworkAccessManager

Alles rund um die Programmierung mit Qt
Antworten
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Cookies mit dem QNetworkAccessManager

Beitrag von pfid »

Ich bin etwas verwirrt was die Benutzung von Cookies mit dem QNetworkAccessManager angeht.

Prinzipiell habe ich einen manager, der mir alle meine get/post Anfragen verarbeitet. Bei manchen kann es sein, dass ich ein Cookie zurückbekomme, mit einer Session/Login Info, die ich für weitere Anfragen nutzen kann. Wenn ich das richtig sehe, werden Cookies automatisch in die Cookie-Liste des managers (cookieJar) übernommen, wenn diese vom Server empfangen werden.

Das funktioniert auch prima. Ich möchte im Programm aber jetzt an bestimmten stellen entscheiden, ob ich das Cookie nutze oder nicht. Die Cookies sind aber für die ganze Lebenszeit meines managers gesetzt.
Eine entsprechende clear()-Methode hab ich nicht gefunden, daher hab ichs so versucht:

Code: Alles auswählen

manager->cookieJar()->setCookiesFromUrl(QList<QNetworkCookie>(), QUrl(url));
Das hat nicht funktioniert. Dieser Code hingegen funktioniert:

Code: Alles auswählen

manager->setCookieJar(new QNetworkCookieJar());
Hat allerdings den Nachteil, dass damit alle bisher gesetzten Cookies verloren gehn.
Ist in meinem aktuellen Fall nicht problematisch, allerdings kann es sein, dass ich in der Zukunft unterschiedliche Cookies von unterschiedlichen Hosts/Domains verwalten muss.

Wie mach ich das also richtig?
Antworten