คำสั่ง Shell เพื่อดูส่วนหัว HTTP


37

มีคำสั่งเชลล์เพื่อดูส่วนหัวของคำขอ HTTP หรือไม่

ตัวอย่างเช่นผมต้องการที่จะรู้ว่าสิ่งที่ส่วนหัวที่ดึงมาจากwww.example.com/test.phpAre

ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


43

หากต้องการดึงเฉพาะส่วนหัวให้ลองทำสิ่งนี้:

curl -I example.com

จากmanหน้า:

-I / - head
(HTTP / FTP / FILE) ดึงข้อมูลส่วนหัว HTTP เท่านั้น! HTTP-servers มีคำสั่ง HEAD ซึ่งใช้เพื่อรับอะไร แต่ส่วนหัวของเอกสาร เมื่อใช้กับไฟล์ FTP หรือไฟล์ FILE curl จะแสดงขนาดไฟล์และเวลาแก้ไขล่าสุดเท่านั้น


นอกจากนี้-D <file>จะบันทึกส่วนหัวเป็นไฟล์
coredump

11

ใช้ wget เป็นต้น

wget -O - -o /dev/null --save-headers www.example.com/test.php

ใช่ แต่ฉันไม่ต้องการบันทึกหน้าในพีซีของฉัน ..... ฉันต้องการเห็นส่วนหัวเท่านั้น
Damiano

2
คุณจะไม่บันทึกมันด้วยคำสั่งนี้
Dmytro Leonenko

ใช่คุณเพียงแค่กรอก/dev/null : p -O -เขียนส่วนหัวไปยัง stdout ("คอนโซล")
Lekensteyn

คำสั่งเอาต์พุตส่วนหัวและเต็มหน้าไปยัง stdout (Ubuntu 16.04, wget 1.17.1)
Frank Nocke

8

คุณสามารถทำได้ด้วย curl:

curl -i 'http://example.com/'

ผลลัพธ์:

HTTP/1.0 302 Found
Location: http://www.iana.org/domains/example/
Server: BigIP
Connection: Keep-Alive
Content-Length: 0

(ด้วยเหตุผลบางอย่าง IANA ตัดสินใจเปลี่ยนเส้นทาง example.com ผลลัพธ์: ไม่มีเนื้อหา)

หยิกหน้าคู่มือเกี่ยวกับ-iตัวเลือก:

-i / - รวม

(HTTP) รวมส่วนหัว HTTP ในเอาต์พุต ส่วนหัวของ HTTP ประกอบด้วยสิ่งต่าง ๆ เช่นชื่อเซิร์ฟเวอร์วันที่ของเอกสารรุ่น HTTP และอื่น ๆ ...


6

HEAD http://www.example.comหรือคุณสามารถใช้ ผลลัพธ์นั้นคล้ายกันมากกับที่ผลิตโดยcurl -i 'http://example.com/'แม้ว่ามันจะกลับมามีส่วนหัวมากขึ้น

200 ตกลง
การเชื่อมต่อ: ปิด
วันที่: Sun, 20 Mar 2011 19:08:58 GMT
เซิร์ฟเวอร์: Apache / 2.2.3 (CentOS)
ความยาวเนื้อหา: 2945
ประเภทเนื้อหา: ข้อความ / html; charset = UTF-8
ปรับเปลี่ยนครั้งล่าสุด: พุธ, 09 กุมภาพันธ์ 2011 17:13:15 GMT
วันที่ลูกค้า: อาทิตย์, 20 มีนาคม 2011 19:09:08 GMT
ลูกค้า - เพื่อน: 192.0.32.8:80
การตอบสนองลูกค้า - จำนวน: 1


3

ใช้curl --includeเพื่อรวมส่วนหัวการตอบกลับในส่วนบนของส่วนตอบสนอง

หรือcurl --verboseดูทั้งหมดรวมถึงใบรับรอง SSL ที่แลกเปลี่ยน handshake (รวมถึงข้อมูลการดีบักอื่น ๆ )

ถ้าคำขอนั้นและไม่ใช่เนื้อหาการตอบสนองที่คุณไม่ได้กังวลให้ใช้ curl --head

curl --head --no-check-certificate --url "https://example.com"เช่น

คุณสามารถดาวน์โหลด gnu ที่curlคอมไพล์แล้วล่วงหน้าสำหรับแพลตฟอร์มส่วนใหญ่ curl ก็มีประโยชน์เช่นกันโดยเฉพาะอย่างยิ่งหากคุณต้องการไพพ์หรือเปลี่ยนเส้นทางผลลัพธ์ภายในสคริปต์
* ตัวอย่างเช่น: https://superuser.com/a/1007898/429721

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