Cookies und Colubrid

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

So, ich hab es auch mal ausprobiert... Es klappt bei mir einwandfrei... Mach doch mal ein self.request.debug_info() und schau dort nach, ob COOKIE Informationen vorhanden sind...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
beyama
User
Beiträge: 14
Registriert: Mittwoch 15. Februar 2006, 11:37
Wohnort: Erfurt

Sehr komisch, ich habe es gerade noch mal probiert und mit Firefox
geht es nicht, mit links2 allerdings funktioniert es.
Ich habe keine Idee woran das liegt ich habe jedenfalls auf anderen
Seiten keine Probleme mit Firefox und Cookies.

EDIT:
Nach dem ich es unter Safari und Firefox auf anderen Rechnern probiert habe und es überall ging habe ich mein Firefox
zurück gesetzt, nun geht es auch auf meinem Arbeitsrechner. Keine Ahnung woran es lag.

Vielen Dank für eure Hilfe.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

blackbird hat geschrieben:

Code: Alles auswählen

from colubrid import BaseApplication, execute
from time import time

class Application(BaseApplication):

    def process_request(self):
        if 'zeit' in self.request.COOKIES:
            t = self.request.COOKIES['zeit'].value
            self.request.write('Dein Letzter Besuch war um %s.' % t)
        else:
            self.request.COOKIES['zeit'] = time()
            self.request.write('Das ist dein Erster Besuch.')

app = Application

if __name__ == '__main__':
    execute()
Bei colubrid v1.0 wurde das wohl geändert:
http://wsgiarea.pocoo.org/colubrid/docu ... management
example:

Code: Alles auswählen

response.set_cookie('username', 'myname', domain='.mydomain.com')
To remove existing cookies use response.delete_cookie:

Code: Alles auswählen

response.delete_cookie('username')
Nur mal so als Anmerkung, weil ich gerade auch cookies behandeln will ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

So, ich hab mal ein Beispiel für colubrid 1.0 gemacht: [wiki]Colubrid/Cookie Handling[/wiki]

Es gibt allerdings ein Bug beim löschen von Cookies: http://trac.pocoo.org/ticket/28

Aber das ist sicher schnell behoben... (Oder hab ich was falsch gemacht???)

EDIT: Ist es eigentlich normal, das man ein cookie direkt nach dem setzten nicht lesen kann??? Also das:

Code: Alles auswählen

        self.response.set_cookie(self.CookieName, Text)

        if self.page_msg_debug == True:
            CookieData = self.request.cookies[self.CookieName].value
            self.page_msg("test Cookie: '%s'" % CookieData)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

@blackbird: Kann es sein, das man ein cookie nicht mehr innerhalb einer middleware setzten kann?
Wenn ich mir das recht überlege, ist das wohl auch logisch, denn zu dem Zeitpunkt wurde der Header schon verschickt, oder???

Allerdings wäre es IMHO nett, wenn dann eine exception geworfen wird! Ich hab eine ganze weile gebraucht, bis ich das herraus gefunden hab...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

jens hat geschrieben:Ist es eigentlich normal, das man ein cookie direkt nach dem setzten nicht lesen kann???
Wie ich gerade festgestellt hab, scheint der fehler noch zu existieren... Deswegen hab ich mal ein erweitertes Test Script geschrieben:
[wiki]Colubrid/Cookie Handling[/wiki]
Außerdem hab ich ein Ticket geschrieben:
http://trac.pocoo.org/ticket/44

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten