본문 바로가기
카테고리 없음

HTTP request message 보내기

by a little good developer 2021. 6. 25.

web server 를 개발하면서 request message parsing test 가 필요했다.

HTTP message format 에 맞춰 crlf 가 포함된 message 를 만들어보자

# test request message 

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://clearforest.com/">string</string>

위 message 를 vim editor 혹은 vscode 를 통해서 만들면 crlf 가 포함되지않습니다.

unix2dos 를 사용하면 crlf 가 포함된 message 를 만들 수 있습니다.

$ unix2dos < test.message > test.message_crlf

unix2dos 는 MAC 환경에서 기본적으로 설치되어 있지 않아 brew 를 사용하여 설치했습니다.

crlf 가 포함된 message 를 server 에 보내보자

telnet 을 사용하여 server 에 message 를 보낼 수 있지만 file 로 만들어놓은 message 를 보내는 방법을 찾지 못했습니다.

netcat 를 사용하여 file 로 만들어진 message 를 server 에 보내보겠습니다.

$ nc 127.0.0.1 1234 < test.message_crlf

127.0.0.1:1234 로 test.message_crlf 를 보냈습니다.

 

server 에서 받은 message 를 출력한 결과

server 에서 request message 를 출력해봤습니다.

 

결론

parsing 에 "\r\n" 과 "\r\n\r\n" 을 사용할 수 있었습니다.