droptix hat geschrieben:
Im HTML-Quelltext steht massenweise Cookie-Kram, z.B. Inline-JavaScript:
Die Frage ist, wieso Browser wie Firefox diese Cookies dann verwalten können, wenn sie doch nicht vom Firefox gesetzt wurden, sondern durch JavaScript... oder müsste man sagen: JavaScript veranlasst den Browser Cookies zu setzen, daher kann er sie auch wieder lesen... ?
Also wie genau die Cookies gesetzt wurden spielt keine Rolle. Es geht darum dass der Server nur die Cookies seiner Domain auslesen kann, und nichts anderes. Sprich:
der Server von ebay.de hat keine Möglichkeit auf die Cookies von gmx.de zuzugreifen. Darum kümmert sich der Browser. Ob die Cookies allerdings direkt im Header gesetzt werden, oder im Laufe der Session per JS oder sogar über eingebundene Userscripte (zum Beispiel Greasemonkey) ist egal. Alle für
diese Domain gespeicherten Cookies werden dann vom Browser bei jeder Anfrage mitgesendet.
Mich wundert allerdings schon, dass der Browser als HTTP-Header Antwort einen Cookie zurück bekommt, den ich mittels urllib/mechanize nicht kriege. Diesen HTTP Header bekommt der Browser zurück:
Ich glaube nicht dass mechanize einen Cookie im Header bekommt, aber nicht auswertet.
Entweder wird der entsprechende Cookie nur unter bestimmten Bedingungen gesetzt, die Firefox erfüllt, mechanize aber nicht.
Oder der Cookie wird erst beim aufruf eines redirect/subframes gesetzt. Damit müsstest du manuell im mechanize die entsprechenden Seiten aufrufen.
Kann ich mir den reinen HTTP Header von urllib/mechanize irgendwie zum Vergleich ausgeben lassen?
Browserinstance.response().info().headers gibt die Kopfdaten raus...
Sobald ich wieder da bin (Sonntag) schau ich mir die Seite mal an - bis dahin probier dich schon mal dran
Gruß Snoda