ฉันจะแสดง 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
หากฉันไม่เข้าใจผิดมันจะทำงานเฉพาะในการเปลี่ยนเส้นทางโดยใช้ส่วนหัวสถานที่ตั้งไม่ใช่สำหรับรหัส http 301
greg

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.