Wie zeige ich alle URLs in einer Weiterleitungskette an?

29

Ich suche nach einer Möglichkeit, alle URLs in einer Umleitungskette anzuzeigen, vorzugsweise aus der Shell. Ich habe einen Weg gefunden, es fast mit Locken zu tun, aber es zeigt nur die erste und letzte URL. Ich würde sie gerne alle sehen.

Es muss einen Weg geben, dies einfach zu tun, aber ich kann für mein ganzes Leben nicht finden, was es ist.

Bearbeiten: Seit dem Absenden habe ich herausgefunden, wie es mit Chrome gemacht wird (STRG + UMSCHALT + I-> Registerkarte "Netzwerk"). Aber ich würde immer noch gerne wissen, wie das von der Linux-Kommandozeile aus gemacht werden kann.

Glückwunsch
quelle

Antworten:

45

Wie wäre es einfach mit 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 -vzeigt auch einige Informationen, sieht aber nicht so nützlich aus wie 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
yaegashi
quelle
Das sieht so aus, als würde es das schaffen. Ich bin nur neugierig, warum hast du STDERR zu STDOUT geschickt?
Felwithe
2
Wenn ich mich nicht irre, funktioniert es nur für die Umleitung mit dem Standort-Header, nicht für 301 http-Codes
Greg
1
Ich kann das wget-Beispiel nicht reproduzieren. Gibt "503: Dienst nicht verfügbar" zurück. - Vielleicht blockieren sie den wget, aber nicht den curl http-user-agent? Ist das nur ich?
StackzOfZtuff
Wenn ich eine Weiterleitung von wwwzur kanonischen URL habe, habe ich etwas später eine Weiterleitung von HTTP zu HTTPS oder auf andere Weise. Wie kann ich ein Array aller Weiterleitungen pro Domain sammeln? War es der Punkt einer Frage?
Max Yudin