Python - POSTing mit urllib2 opener
Ich habe eine urllib2 opener, und möchte es für eine POST-Anfrage mit ein paar Daten.
Ich bin auf der Suche zu erhalten, den Inhalt der Seite, dass ich die Buchung und auch die URL der Seite zurückgegeben wird (ich denke, dies ist nur ein 30x-code; so etwas in diese Richtung wäre genial!).
Denke, dass dies der code:
anOpener = urllib2.build_opener(???,???)
anOpener.addheaders = [(???,???),(???,???),...,(???,???)]
# do some other stuff with the opener
data = urllib.urlencode(dictionaryWithPostValues)
pageContent = anOpener.THE_ANSWER_TO_THIS_QUESTION
pageURL = anOpener.THE_SECOND_PART_OF_THIS_QUESTION
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist so eine dumme Frage, sobald man erkennt die Antwort.
Verwenden Sie einfach:
für den ersten Teil, und wie Rachel Sanders erwähnt,
für den zweiten Teil.
Ich kann wirklich nicht herausfinden, wie die gesamte Anfrage/opener, was aber funktioniert; ich konnte nicht finden, dass jede schöne Dokumentation :/
Diese Seite soll Ihnen helfen, aus:
http://www.voidspace.org.uk/python/articles/urllib2.shtml#data
Wie es aussieht können Sie auch verwenden response.info (), um den Location-header direkt anstatt .geturl().
Hoffe, das hilft!
Wenn Sie das hinzufügen von Daten zu der Anfrage, die Methode wird automatisch geändert zu POSTEN. Schauen Sie sich das folgende Beispiel:
Als ich erwähnte, die lambda ist nicht erforderlich, wenn Sie die Verwendung von GET/POST.