Question

Le produit que je travaille sur les pistes au-dessus de Google App Engine. Il contient un code similaire à ceci:

    result = urlfetch.fetch(url, **parms)
    log('%s' %result.final_url)

retourne toujours Aucun. Dans la documentation, il dit qu'il va retourner l'URL correcte. Mais cela semble être un problème. Je ne peux pas utiliser l'URL donnée car il y a beaucoup de 302 qui se passe entre les deux.

Tout le monde sait comment résoudre le même?

Était-ce utile?

La solution

Test sur shell.appspot.com démontre que final_url est rempli ssi une redirection a été suivie, et est laissé vide si ce n'était pas:

>>> from google.appengine.api import urlfetch
>>> urlfetch.fetch('http://google.com/').final_url
'http://www.google.com/'
>>> urlfetch.fetch('http://www.google.com/').final_url

Donc, pour obtenir l'URL finale, faites ceci:

result = urlfetch.fetch(url, **parms)
final_url = result.final_url or url
log('%s' % final_url)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top