質問

私が取り組んでいる製品は、Google App Engineの上で実行されています。これに類似したコードが含まれています。

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

これは常に何も返されません。ドキュメントでは、正しいURLを返すと書かれています。しかし、これは問題のようです。その間に多くの302が発生しているため、指定されたURLを使用できません。

誰かが同じことを解決する方法を知っていますか?

役に立ちましたか?

解決

Testing on shell.appspot.com demonstrates that final_url is filled in iff a redirect was followed, and is left blank if it wasn'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

So to get the final URL, just do this:

result = urlfetch.fetch(url, **parms)
final_url = result.final_url or url
log('%s' % final_url)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top