2010-03-11 87 views
1

我正在使用的產品運行在Google App Engine之上。 它包含類似這樣的代碼:urlfetch final_url返回無

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

這總是返回None。在文檔中說它會返回正確的URL。但這似乎是一個問題。我無法使用給定的網址,因爲有很多302之間發生。

有人知道如何解決這個問題嗎?

回答

2

測試上shell.appspot.com表明FINAL_URL填充IFF重定向之後,並且是空白,如果不是:

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

因此,要獲得最終的URL,只是這樣做:

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