我对谷歌应用程序引擎之上运行工作的产品。 它包含类似的代码这样:

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

此总是返回无。在文档它说,它会返回正确的URL。但是,这似乎是一个问题。因为有大量的302之间发生在我不能使用给定的URL。

任何人知道如何解决同样的?

有帮助吗?

解决方案

测试上 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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top