https und POST

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Bewa
User
Beiträge: 4
Registriert: Samstag 6. Juni 2009, 09:47

Guten Morgen in die Runde

Ich versuche, mich über HTTPS und POST bei einer Webseite anzumelden.
Mit urllib (bzw. urllib2) bin ich so weit, dass ich mich auch tatsächlich anmelden kann.

Aber: Wenn ich
url="https://secure.seite.com/login"
verwende, stürzt Python ab. Genauer: Idle wird weiß und reagiert nicht mehr.
Mit
url="http://secure.seite.com/login"
jedoch funktioniert es. Ich habe das im Firefox mit Firebug reproduziert, Login klappt tatsächlich über http. Darüber hinaus konnte ich (mit Python) in der Antwort vom Server auch Accountdaten lesen, die ich erst nach dem erfolgreichen Login sehen konnte.

Bei einigen Beiträgen hier, die ich über die Suche gefunden habe, scheint dieses Problem nicht aufgetreten zu sein.

Es ist ein Web-Formular, kein .htaccess oder wie man das nennt.

Der Knackpunkt ist, dass ich einen Proxy verwende. Ob es daran liegt, kann ich nicht sagen, denn Firefox kommt damit bestens klar und verständlicherweise möchte ich die Daten nicht gerne über http schicken, besonders nicht bei einem Proxy.

Einen Header habe ich nicht verwendet, aber bei den Beispielen habe ich hier nur User-Agent, Encoding und dergleichen im Header gesehen, was mir nicht relevant schien.

Nach dem, was ich in der Dokumentation dazu gelesen habe, scheint das Übermitteln von POST-Daten nur bei http möglich zu sein.

Was sagt ihr zu meinem Problem?
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Du könntest es mit mechanize versuchen, welches sich automatisch um Sachen wie Headers, Cookies u.ä. kümmert. Inwiefern HTTPS unterstützt wird, weiß ich nicht.

Falls dir die Informationen zur Bedienung auf der Website nicht reichen, empfehle ich, hier im Forum nach `mechanize` zu suchen. Da gibt es einige Beiträge mit Beispielen dazu.

Falls du eine Distribution wie Debian oder Ubuntu benutzt, solltest du das Paket `python-mechanize` installieren.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Das Problem scheint bekannt zu sein. Googlen z.B. mit "https in urllib2" liefert viele interessante Beiträge, z.B. den hier.
MfG
HWK
Bewa
User
Beiträge: 4
Registriert: Samstag 6. Juni 2009, 09:47

Vielen Dank, HWK, es funktioniert jetzt auch mit "https".

@snafu: Machanize werde ich im Hinterkopf behalten, aber für das Projekt werde ich es wohl nicht verwenden.
Antworten