Como exibo todos os URLs em uma cadeia de redirecionamento?

15

Estou procurando uma maneira de mostrar todos os URLs em uma cadeia de redirecionamento, de preferência no shell. Eu encontrei uma maneira de quase fazer isso com o curl, mas ele mostra apenas o primeiro e o último URL. Eu gostaria de ver todos eles.

Deve haver uma maneira de fazer isso simplesmente, mas eu não posso, para a vida de mim, encontrar o que é.

Editar: depois de enviar isso, descobri como fazer isso com o Chrome (guia CTRL + SHIFT + I- > Rede). Mas eu ainda gostaria de saber como isso pode ser feito a partir da linha de comando do Linux.

    
por felwithe 15.07.2015 / 01:32

1 resposta

22

Que tal simplesmente usar wget ?

$ wget http://picasaweb.google.com 2>&1 | grep Location:
Location: /home [following]
Location: https://www.google.com/accounts/ServiceLogin?hl=en_US&continue=https%3A%2F%2Fpicasaweb.google.com%2Flh%2Flogin%3Fcontinue%3Dhttps%253A%252F%252Fpicasaweb.google.com%252Fhome&service=lh2&ltmpl=gp&passive=true [following]
Location: https://accounts.google.com/ServiceLogin?hl=en_US&continue=https%3A%2F%2Fpicasaweb.google.com%2Flh%2Flogin%3Fcontinue%3Dhttps%3A%2F%2Fpicasaweb.google.com%2Fhome&service=lh2&ltmpl=gp&passive=true [following]

curl -v também mostra algumas informações, mas não parece tão útil quanto wget .

$ curl -v -L http://picasaweb.google.com 2>&1 | egrep "^> (Host:|GET)"
> GET / HTTP/1.1
> Host: picasaweb.google.com
> GET /home HTTP/1.1
> Host: picasaweb.google.com
> GET /accounts/ServiceLogin?hl=en_US&continue=https%3A%2F%2Fpicasaweb.google.com%2Flh%2Flogin%3Fcontinue%3Dhttps%253A%252F%252Fpicasaweb.google.com%252Fhome&service=lh2&ltmpl=gp&passive=true HTTP/1.1
> Host: www.google.com
> GET /ServiceLogin?hl=en_US&continue=https%3A%2F%2Fpicasaweb.google.com%2Flh%2Flogin%3Fcontinue%3Dhttps%253A%252F%252Fpicasaweb.google.com%252Fhome&service=lh2&ltmpl=gp&passive=true HTTP/1.1
> Host: accounts.google.com
    
por 15.07.2015 / 04:37

Tags