Hi,
ich möchte mich mit Python´s urllib2 auf einer Seite einloggen. Soweit habe ich das auch schon geschafft, allerdings müsste ich mit Python das von der login.php gesetzte Cookie wieder auslesen können, damit ich dieses auf den weiteren Seiten mit einbetten kann.
Vielen Dank für die Antworten!
Mit PHP gesetztes Cookie auslesen
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
In den HTTP-Headers wird Set-Cookie übertragen, wo das Cookie abgelegt wird.
Besserer Ansatz: gleich Machanize benutzen, dann spart man sich das lästige Cookie-Handling.
Besserer Ansatz: gleich Machanize benutzen, dann spart man sich das lästige Cookie-Handling.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Was ist Machanize? Die PHP kann ich nicht verändern, da diese fest auf dem Webspace eines Freundes liegt.
Durch urllib2.urlopen kann man doch den HTTP-Header nur senden, nicht empfangen. Und eine andere Funktion dafür habe ich nicht entdeckt.
Durch urllib2.urlopen kann man doch den HTTP-Header nur senden, nicht empfangen. Und eine andere Funktion dafür habe ich nicht entdeckt.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Natürlich kann man mit der urllib2 den Header auch lesen, der wird ja bei jedem HTTP-Request mitgeschickt.scripter hat geschrieben:Durch urllib2.urlopen kann man doch den HTTP-Header nur senden, nicht empfangen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Habe ein ähnliches Problem. Ich logge mich erfolgreich mit meinem eigenen Mini-Script (mit HTTPCookieProcessor) bei einer Website ein. Ich erhalte nur einen Cookie zurück, und zwar PHPSESSID, sonst nix.
Wenn ich das Ganze im Firefox durchführe und mir alle HTTP Requests mit der Extension HttpFox mit logge, dann ist das schon mal korrekt. Nach dem Login lädt der echte Browser weitere Dinge wie CSS- und JavaScript-Dateien aus dem HTML-Quelltext. Das passiert nur ca. 250 ms später als der Login-Request -> dort sendet Firefox allerdings schon 4 weitere Cookies mit und ich weiß nicht woher die kommen. Im HTML-Quelltext selbst werden diese 4 Cookies jedenfalls nicht gesetzt (geht ja mittels JavaScript und `document.cookie`).
Ich dachte zuerst, dass PHP das verdeckt macht, aber PHP wird wohl nichts weiter machen als der HTTP-Antwort ein paar Cookie-Set-Header hinzuzufügen, richtig? Und da ich in der Antwort nur PHPSESSID zurück bekommen habe, war das die ganze Arbeit von PHP.
Woher kommen nun die 4 unbekannten Cookies, dreen Werte wichtig für den weiteren Verlauf nach dem Login sind? Dort drin stecken nämlich weitere IDs und Hashes. Jemand ne Idee?
Wenn ich das Ganze im Firefox durchführe und mir alle HTTP Requests mit der Extension HttpFox mit logge, dann ist das schon mal korrekt. Nach dem Login lädt der echte Browser weitere Dinge wie CSS- und JavaScript-Dateien aus dem HTML-Quelltext. Das passiert nur ca. 250 ms später als der Login-Request -> dort sendet Firefox allerdings schon 4 weitere Cookies mit und ich weiß nicht woher die kommen. Im HTML-Quelltext selbst werden diese 4 Cookies jedenfalls nicht gesetzt (geht ja mittels JavaScript und `document.cookie`).
Ich dachte zuerst, dass PHP das verdeckt macht, aber PHP wird wohl nichts weiter machen als der HTTP-Antwort ein paar Cookie-Set-Header hinzuzufügen, richtig? Und da ich in der Antwort nur PHPSESSID zurück bekommen habe, war das die ganze Arbeit von PHP.
Woher kommen nun die 4 unbekannten Cookies, dreen Werte wichtig für den weiteren Verlauf nach dem Login sind? Dort drin stecken nämlich weitere IDs und Hashes. Jemand ne Idee?