Python Demandes de la bibliothèque de rediriger l'url de nouvelles
J'ai été en regardant à travers le Python Demandes de documentation, mais je ne vois pas toutes les fonctionnalités de ce que je suis en train de réaliser.
Dans mon script que je suis en train allow_redirects=True
.
Je voudrais savoir si la page a été redirigé vers quelque chose d'autre, qu'est-ce que la nouvelle URL.
Par exemple, si l'URL de démarrage a été: www.google.com/redirect
Et l'URL finale est www.google.co.uk/redirected
Comment puis-je obtenir cette URL?
Vous devez vous connecter pour publier un commentaire.
Vous êtes à la recherche pour le demander de l'histoire.
La
response.history
attribut est une liste de réponses qui ont conduit à l'URL finale, qui peut être trouvé dansresponse.url
.Démo:
C'est de répondre à une question légèrement différente, mais depuis que je suis coincé sur moi-même, j'espère que ça peut être utile pour quelqu'un d'autre.
Si vous souhaitez utiliser
allow_redirects=False
et d'obtenir directement la première redirection de l'objet, plutôt que suivant une chaîne d'eux, et vous voulez juste pour obtenir le rediriger emplacement directement de la réponse 302 objet, puisr.url
ne fonctionne pas. Au lieu de cela, c'est le "Lieu" de l'en-tête:r.next
? Je pensais que devrait contenir unPreparedRequest
pointant vers l'URL de redirection, mais qui ne semble pas être le cas...la documentation a ce blurb http://docs.python-requests.org/en/latest/user/quickstart/#redirection-and-history
Je pense que demandes.tête au lieu de demandes.obtenir sera plus en sécurité à l'appel lors de la manipulation de redirection url,vérifiez le github question ici:
Pour python3.5, vous pouvez utiliser le code suivant: