我正在寫一個小項目,它使用HTTP 1.1 GET和POST與一組服務器進行交互。服務器給了我一些標題行之後的響應,所以我儘管使用strtok()
函數使用\n
作爲分隔符,但每當我嘗試這樣做時就會崩潰。如何解析C中的HTTP響應?
有沒有簡單的方法來解析C中的HTTP響應?我不想爲此使用第三方庫,但如果它真的需要,我不會有任何問題。
非常感謝您的一切。
編輯:下面是一些示例代碼,只是想打印線:
char *response = "HTTP/1.1 200 OK\nServer: Apache-Coyote/1.1\nPragma: no-cache"
char *token = NULL;
token = strtok(response, "\n");
while (token) {
printf("Current token: %s.\n", token);
token = strtok(NULL, "\n");
}
請發佈您的代碼 – 2010-03-07 04:41:47
當在一個線程或多進程程序中使用時,可能需要使用'strtok_r()'來保證安全,如果可用的話,請考慮使用它 – mctylr 2010-03-07 05:07:41
試圖修改來自'「...」'字符串文字的字符數組的任何元素都是**未定義的行爲**;請參閱http://c0x.coding-guidelines.com/6.4.5.html和http://www.catb.org/jargon/html/N/nasal-demons.html。 – ephemient 2010-03-07 05:47:02