2010-03-11 13 views
1

Le produit sur lequel je travaille fonctionne sur Google App Engine. Il contient un code similaire à ceci:urlfetch final_url renvoie Aucun

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

Cela renvoie toujours Aucun. Dans la documentation, il indique qu'il retournera 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.

Quelqu'un sait comment résoudre le même problème?

Répondre

2

Test sur shell.appspot.com démontre que final_url est rempli ssi une redirection a été suivie, et est laissée en blanc si elle n'a pas été:

>>> 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)