Python - Poster avec un urllib2 ouvreur
J'ai un urllib2 ouvreur, et souhaitent l'utiliser pour une requête POST avec quelques données.
Je suis à la recherche à recevoir le contenu de la page que j'ai écris, et aussi l'URL de la page qui est retournée (je pense que c'est juste une 30x code; si quelque chose le long de ces lignes serait génial!).
Pense que c'est le 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
OriginalL'auteur Shariq | 2012-11-19
Vous devez vous connecter pour publier un commentaire.
C'est une question stupide, une fois que l'on se rend compte de la réponse.
Suffit d'utiliser:
pour la première partie, et comme Rachel Sanders mentionné,
pour la deuxième partie.
Je ne peux vraiment pas comprendre comment l'ensemble de la Demande/ouvreur de chose fonctionne bien; je ne pouvais pas trouver tout de nice documentation :/
OriginalL'auteur Shariq
Cette page devrait vous aider:
http://www.voidspace.org.uk/python/articles/urllib2.shtml#data
Il ressemble, vous pouvez également utiliser response.info() pour obtenir l'Emplacement de l'en-tête directement au lieu d'utiliser .geturl().
Espère que ça aide!
Vous voudrez peut-être jeter un coup d'oeil à docs.python-requests.org/en/latest et pypi.python.org/pypi/requests/0.14.2. C'est un remplacement de tiers pour urllib qui simplifie la tâche de l'interaction avec les serveurs web grandement. Un async wrapper est disponible @ pypi.python.org/pypi/grequests. Depuis le trouver, je n'ai pas écrit une ligne de code à l'aide de urllib.
OriginalL'auteur Rachel Sanders
Si vous ajoutez des données à la demande de la méthode est automatiquement changé de POSTE. Découvrez l'exemple suivant:
Comme je l'ai mentionné le lambda n'est pas nécessaire si vous utilisez GET/POST.
OriginalL'auteur Thomas Spycher