Pergunta

O produto em que estou trabalhando no topo do Google App Engine. Ele contém código semelhante a este:

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

Isso sempre retorna nenhum. Na documentação, ele diz que retornará o URL correto. Mas isso parece ser um problema. Não posso usar o URL fornecido, pois há muito 302 no meio.

Alguém sabe como resolver o mesmo?

Foi útil?

Solução

Testando em shell.appspot.com Demonstra que Final_url está preenchido no IFF, um redirecionamento foi seguido e fica em branco se não estivesse:

>>> 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

Então, para obter o URL final, basta fazer isso:

result = urlfetch.fetch(url, **parms)
final_url = result.final_url or url
log('%s' % final_url)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top