ด้วยคำสั่งtelnet docs.python.org 80
ฉันสามารถทำคำขอ HTTP ด้วยตนเองhttp://docs.python.org/2/license.html
โดยพิมพ์คำขอจริง
ตอนนี้แทนที่จะพิมพ์แบบสดฉันต้องการฟีดคำขอจากไฟล์ข้อความ
ฉันลองสิ่งนี้:
cat request.txt|telnet docs.python.org 80
request.txt :
GET /2/license.html HTTP/1.1
Host: docs.python.org
(คุณต้องจบไฟล์ด้วยบรรทัดว่างมิฉะนั้นคุณจะได้รับคำขอที่ไม่ดี!)
แต่การเชื่อมต่อกับเซิร์ฟเวอร์จะปิดทันที
วิธีฉันควรต้องท่อrequest.txtเพื่อtelnet docs.python.org 80
?
แก้ไข:
เป็นเรื่องดีที่จะรู้ หากคุณใช้HEAD
แทนคุณGET
จะได้รับการตอบกลับเช่นเดียวกับที่คุณทำGET
คำขอยกเว้นสำหรับเนื้อหาของข้อความ
ดังนั้นใช้HEAD
ถ้าคุณต้องการตรวจสอบส่วนหัว HTTP (เช่นเพื่อให้เนื้อหาของการตอบสนองไม่ได้ยุ่งเอาท์พุทเปลือกของคุณ)
telnet docs.python.org 80
มาดังนั้นคุณจะต้องรีบและพิมพ์สองบรรทัด (คัดลอกวางถ้า necc.) ภายในไม่กี่วินาทีหรือเซิร์ฟเวอร์จะส่งคืนข้อผิดพลาดการหมดเวลา
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
<ENTER>
ครั้งที่สองในตอนท้ายเพราะโพรโทคอล HTTP ต้องการบรรทัดว่างพิเศษหลังจากส่วนหัวของคำขอ ดูส่วนข้อความคำขอของบทความ HTTP wiki
telnet < request.txt
แต่ฉันไม่สามารถGET
สั่งให้ทำงานได้
GET
คุณโพสต์ฉันได้รับ408 Request Time-out
ข้อผิดพลาด นอกจากนี้wget http://docs.python.org/2/license.html
ไม่ได้เป็นตัวเลือก?