อะไรจะเป็นวิธีที่ตรงไปตรงมาที่สุดในการส่งคำขอ GET ไปยัง URL ผ่าน HTTPS และรับการตอบกลับแบบดิบๆ
สามารถทำได้ด้วยการม้วนงอ ถ้าเป็นเช่นนั้นคุณต้องใช้ตัวเลือกใด?
อะไรจะเป็นวิธีที่ตรงไปตรงมาที่สุดในการส่งคำขอ GET ไปยัง URL ผ่าน HTTPS และรับการตอบกลับแบบดิบๆ
สามารถทำได้ด้วยการม้วนงอ ถ้าเป็นเช่นนั้นคุณต้องใช้ตัวเลือกใด?
คำตอบ:
หากคุณต้องการใช้curl
สิ่งนี้ควรใช้งานได้:
curl -D - https://www.google.com/
อย่างไรก็ตามโปรดทราบว่านี่ไม่ได้เป็นการตอบสนองที่แท้จริง ตัวอย่างเช่นการเข้ารหัสการถ่ายโอนแบบ chunkedจะไม่ปรากฏในการตอบสนอง การใช้วิธี--raw
แก้ปัญหานี้โหมด verbose ( -v
) ก็มีประโยชน์เช่นกันและ-i
แสดงส่วนหัวก่อนเนื้อหาการตอบสนอง:
curl -iv --raw https://www.google.com/
หากคุณต้องการใช้เพจเจอร์ที่ไม่ค่อยมีผลก็จำเป็นต้องปิดการใช้งานแถบความคืบหน้า ( -s
):
curl -ivs --raw https://www.google.com/ | less
ขึ้นอยู่กับสิ่งที่คุณต้องการทำสิ่งนี้อาจจะใช่หรือไม่ใช่ปัญหาก็ได้
สิ่งที่คุณจะได้รับคือส่วนหัวการตอบสนอง HTTP ทั้งหมดและเอกสารที่ URL ที่ร้องขอ
นี่คือวิธีง่ายๆที่มาพร้อมกับใจ
echo 'GET / HTTP/1.1
Host: google.com
' | openssl s_client -quiet -connect google.com:443 2>/dev/null
ไม่ใช่curl
แต่ควรมีอยู่ใน Unices เกือบทั้งหมด:
wget -S --spider https://encrypted.site
หากข้อความสถานะรบกวนคุณ:
wget -S --spider https://encrypted.site 2>&1 | awk '/^ /'
หากคุณต้องการจุดสิ้นสุดของบรรทัด CRLF:
wget -S --spider https://encrypted.site 2>&1 | awk '/^ / { sub(/$/,"\r"); print }'
\r\n
ตัวละครในการตอบสนอง?
\r\n
การลงท้ายบรรทัด ฉันไม่เชื่อว่าสิ่งนี้จะเก็บรักษาไว้ในกรณีใด ๆ แต่ถ้าสิ่งนั้นมีความสำคัญกับคุณฉันจะเพิ่มวิธีรับผลลัพธ์นั้นในคำตอบ
$ GET -e https://www.google.com
บน distros Debian / Ubuntu lwp-request
เป็นแพคเกจ
HTTP/1.0