คำขอ HEAD HEAD หรือไม่


คำตอบ:


59

มันไม่ใช่ wget แต่คุณสามารถทำได้อย่างง่ายดายโดยใช้ curl

curl -I http://www.superuser.com/

สร้างเอาต์พุตนี้:

HTTP/1.1 301 Moved Permanently                        
Content-Length: 144                       
Content-Type: text/html; charset=UTF-8     
Location: http://superuser.com/
Date: Sat, 09 Oct 2010 19:11:50 GMT

นี่คือสิ่งที่ฉันต้องการ
XièJìléi

1
-I--headเทียบเท่ากับ
Nicolas Marchildon

1
หากคุณต้องการใบรับรองแบบลงนามด้วยตนเองhttpsคุณสามารถเพิ่ม-kหรือ--insecure
Mike Aski

36

ลอง:

wget -S --spider www.example.com

คุณสามารถส่งผ่าน-O /dev/nullเพื่อป้องกันwgetการเขียนการตอบสนอง HTTP ไปยังไฟล์


2
-Sจะแสดงให้เห็นส่วนหัว แต่มันรันไม่ได้GET HEADกล่าวอีกนัยหนึ่งมันจะดึง URL ทั้งหมด
Dan Dascalescu

9
wget -S --spider http://localhostบันทึกที่สร้างในเซิร์ฟเวอร์ apache คือ127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
Casual Coder

20

ไม่มีความจำเป็นใด ๆขด

ด้วย Wget การเพิ่ม--spiderบอกเป็นนัยว่าคุณต้องการส่งHEADคำขอ (ตรงข้ามกับGETหรือPOST)

นี่เป็นวิธีที่ง่ายมากในการตรวจสอบว่า URL ตอบสนองหรือไม่ ตัวอย่างเช่นคุณสามารถใช้สิ่งนี้ในการตรวจสอบสคริปต์และการHEADดำเนินการจะทำให้แน่ใจว่าคุณไม่ได้โหลดใด ๆ ทั้งในเครือข่ายและเว็บเซิร์ฟเวอร์เป้าหมาย

ข้อมูลโบนัส: หาก Wget ได้รับข้อผิดพลาด HTTP 500 จากเซิร์ฟเวอร์เมื่อดำเนินการHEADแล้วจะดำเนินการGETต่อเพื่อดำเนินการกับ URL เดียวกัน ฉันไม่รู้เหตุผลของการออกแบบนี้ นี่คือเหตุผลที่ว่าทำไมคุณอาจจะเห็นทั้งสองHEAD และGETคำขอถูกดำเนินการกับเซิร์ฟเวอร์ หากไม่มีอะไรผิดปกติจะมีการHEADร้องขอเท่านั้น คุณสามารถปิดการใช้งานฟังก์ชั่นนี้ด้วย--triesตัวเลือกเพื่อ จำกัด Wget เพียงหนึ่งครั้ง

สรุปทั้งหมดฉันขอแนะนำให้ทำการทดสอบว่า URL นั้นตอบสนองหรือไม่:

# This works in Bash and derivatives
wget_output=$(wget --spider --tries 1 $URL  2>&1)
wget_exit_code=$?

if [ $wget_exit_code -ne 0 ]; then
    # Something went wrong
    echo "$URL is not responding"
    echo "Output from wget: "
    echo "$wget_output"
else
    echo "Check succeeded: $URL is responding"
fi

4

wget -S รับไฟล์:

ความยาวเนื้อหา: 2316, ความยาว: 2316 (2.3K) [ข้อความ / ธรรมดา], บันทึกเป็น: `index.html '

wget --spider รับส่วนหัว:

เปิดใช้งานโหมดแมงมุม ตรวจสอบว่ามีไฟล์ระยะไกลอยู่หรือไม่, ความยาว: ไม่ระบุ [text / plain] มีไฟล์ระยะไกล


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.