ด้วยคำสั่ง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ไม่ได้เป็นตัวเลือก?