명령을 telnet docs.python.org 80
사용 http://docs.python.org/2/license.html
하면 실제 요청을 입력하여 수동 HTTP 요청을 수행 할 수 있습니다 .
이제 실시간으로 입력하는 대신 텍스트 파일에서 요청을 제공하고 싶습니다.
나는 이것을 시도했다 :
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
하므로 몇 초 내에 서두 줄을 두 번 입력해야합니다 (필요한 경우 복사 붙여 넣기). 그렇지 않으면 서버가 시간 초과 오류를 반환합니다.
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
<ENTER>
마지막에 두 번째 로 입력 해야하는 이유 는 요청 헤더 다음에 HTTP 프로토콜에 빈 줄이 더 필요하기 때문입니다. 참고 항목 요청 메시지 섹션 의 HTTP 위키 기사
telnet < request.txt
하지만 GET
명령이 작동 하지 않습니다 .
GET
게시 한 것을 실행하면408 Request Time-out
오류가 발생합니다. 또한wget http://docs.python.org/2/license.html
옵션이 아닙니까?