1

我正在开发的产品运行在 Google App Engine 之上。它包含与此类似的代码:

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

这总是返回无。在文档中它说它将返回正确的 URL。但这似乎是个问题。我不能使用给定的 url,因为中间发生了很多 302。

任何人都知道如何解决相同的问题?

4

1 回答 1

2

shell.appspot.com上的测试表明,如果遵循了重定向,则 final_url 被填写,如果不是,则留空:

>>> 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)
于 2010-03-11T10:54:23.627 回答