Si vous utilisez le urlfetch API, vous pouvez simplement accéder à l'attribut final_url
du response object que vous obtenez de urlfetch.fetch()
, en supposant que défini follow_redirects
-True
:
>>> from google.appengine.api import urlfetch
>>> url_that_redirects = 'http://www.example.com/redirect/'
>>> resp = urlfetch.fetch(url=url_that_redirects, follow_redirects=False)
>>> resp.status_code
302 # or 301 or whatever
>>> resp = urlfetch.fetch(url=url_that_redirects, follow_redirects=True)
>>> resp.status_code
200
>>> resp.final_url
'http://www.example.com/final_url/'
Notez que les paramètres par défaut de l'argument de mot-clé follow_redirects
à True
, vous n'avez donc pas à le définir explicitement.
+1 pour mentionner l'utilisation de 'HEAD' –