HTTP 的訊息格式 (Text Format) 大致如下:
Method URL Protocol \r\n
key: value \r\n
key: value \r\n
key: value \r\n
\r\n
HTML data
HTTP Header 訊息每列以 \n 或 \r\n 換行, 若某一行為\\r\n 或 \n 沒有任何字 表示Header結尾。 訊息中也可能包含不定數量的空白(依程式實作者而定)
底下利用C函式的字串處理函數strpbrk(), strspn() 進行字串解析, 抓到你想要的欄位值。
如
protocol --> "HTTP/1.1"
Method--> "GET"
URL--> "/doc/test.html"
Host--< www.test101.com
...
strpbrk()
int len; const char str1[] = "ABCDEFG019874"; const char str2[] = "BCD"; char *str = strpbkr(str1, str2) ==> str="BCDEFG019874"
strspn()
int len; const char str1[] = "ABCDEFG019874"; const char str2[] = "ABCD"; len = strspn(str1, str2) ==> len=4
相關課程:
沒有留言 :
張貼留言