我正在开发的产品运行在 Google App Engine 之上。它包含与此类似的代码:
result = urlfetch.fetch(url, **parms)
log('%s' %result.final_url)
这总是返回无。在文档中它说它将返回正确的 URL。但这似乎是个问题。我不能使用给定的 url,因为中间发生了很多 302。
任何人都知道如何解决相同的问题?
我正在开发的产品运行在 Google App Engine 之上。它包含与此类似的代码:
result = urlfetch.fetch(url, **parms)
log('%s' %result.final_url)
这总是返回无。在文档中它说它将返回正确的 URL。但这似乎是个问题。我不能使用给定的 url,因为中间发生了很多 302。
任何人都知道如何解决相同的问题?
在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)