리디렉션 체인에 모든 URL을 표시하려면 어떻게합니까?


29

모든 URL을 리디렉션 체인, 바람직하게는 셸에서 표시하는 방법을 찾고 있습니다. curl로 거의 수행 할 수있는 방법을 찾았지만 첫 번째 URL과 마지막 URL 만 표시합니다. 나는 그들 모두를보고 싶다.

이 작업을 간단하게 수행 할 수있는 방법이 있어야하지만, 제 삶에서 그것이 무엇인지 찾을 수는 없습니다.

편집 : 이것을 제출 한 후 Chrome으로 작업을 수행하는 방법을 알았습니다 (CTRL + SHIFT + I-> 네트워크 탭). 그러나 여전히 Linux 명령 줄에서 어떻게 수행 할 수 있는지 알고 싶습니다.

답변:


45

간단히 사용하는 것은 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또한 일부 정보를 표시하지만만큼 유용하지 않습니다 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

그렇게 할 것 같습니다. 그래도 궁금합니다. 왜 STDERR을 STDOUT에 보냈습니까?
felwithe

2
제가 잘못 본게 아니라면, 그것은 단지 301 개 HTTP 코드 아니, 위치 헤더를 사용하여 재 지정에 작동합니다
그렉

1
wget 예제를 재현 할 수 없습니다. "503 : 서비스를 사용할 수 없음"을 반환합니다. -아마도 wget을 차단하고 있지만 curl http-user-agent는 차단하지 않습니까? 이게 나야?
StackzOfZtuff

www표준 URL 로 리디렉션 하면 조금 나중에 HTTP에서 HTTPS로 리디렉션됩니다. 도메인 당 모든 리디렉션을 어떻게 수집 할 수 있습니까? 질문의 요점입니까?
Max Yudin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.