Comment déterminer l'URL finale après la redirection à l'aide de requêtes Python ?

Susan Sarandon
Libérer: 2024-11-11 12:32:02
original
945 Les gens l'ont consulté

How Do I Determine the Final URL After Redirection Using Python Requests?

Détermination d'une nouvelle URL après la redirection avec la bibliothèque de requêtes Python

La bibliothèque Python Requests excelle dans la gestion des requêtes HTTP, mais comprendre son mécanisme de redirection est crucial pour accéder à la page de destination finale. En définissant allow_redirects=True, la bibliothèque suit les requêtes via une chaîne de redirection. Cependant, pour obtenir la nouvelle URL redirigée, vous devez approfondir l'historique de la requête.

L'attribut réponse.history contient un enregistrement de toutes les réponses de redirection rencontrées lors de la requête. Chaque réponse de la liste historique contient son code d'état et l'URL vers laquelle elle est redirigée. Le dernier élément de la liste représente la destination finale, qui est stockée dans réponse.url.

Pour accéder à ces informations, utilisez le code suivant :

import requests

response = requests.get(someurl, allow_redirects=True)
if response.history:
    print("Request was redirected")
    for resp in response.history:
        print(resp.status_code, resp.url)
    print("Final destination:")
    print(response.status_code, response.url)
else:
    print("Request was not redirected")
Copier après la connexion

Considérez l'exemple suivant :

>>> response = requests.get('http://httpbin.org/redirect/3')
>>> response.history
(<Response [302]>, <Response [302]>, <Response [302]>)
>>> for resp in response.history:
...     print(resp.status_code, resp.url)
...
302 http://httpbin.org/redirect/3
302 http://httpbin.org/redirect/2
302 http://httpbin.org/redirect/1
>>> print(response.status_code, response.url)
200 http://httpbin.org/get
Copier après la connexion

Cette démonstration présente le processus de suivi de la chaîne de redirection, présentant les codes d'état et les URL de chaque redirection, et finalement affichant la destination finale. En utilisant Response.history, vous pouvez facilement extraire la nouvelle URL après la redirection d'une demande.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal