urlfetch final_url не возвращает нет
-
19-09-2019 - |
Вопрос
Продукт, над которым я работаю, работает над двигателем Google App. Он содержит код, аналогичный этому:
result = urlfetch.fetch(url, **parms)
log('%s' %result.final_url)
Это всегда не возвращает ни одного. В документации говорится, что вернет правильный URL. Но это кажется проблемой. Я не могу использовать заданный URL, так как между ними происходит много 302.
Кто -нибудь знает, как решить то же самое?
Решение
Тестирование на 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)
Не связан с StackOverflow