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?
https und POST
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.
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.