我构建了一个解析标头的程序,我想在收到 POST 时读取消息正文。
对于标题,我已经能够确定标题何时结束。我对邮件正文有更多问题。我是否应该查看“内容长度”字段以了解何时停止读取输入?在我当前的代码(如下)中,直到我在 Firefox 中点击红叉(停止加载页面),它才会停止。
这是代码:
size_t n;
unsigned char newChar;
int index = 0;
int capacity = 50;
char *option = (char *) malloc(sizeof(char) * capacity);
while ( ( n = read( req->socket, &newChar, sizeof(newChar) ) ) > 0 ) {
if (newChar == '\0' || newChar == '\n') break; // This is not working
if (index == capacity) {
capacity *= 2;
option = (char *) realloc(option, sizeof(char) * capacity);
assert(option != NULL);
}
option[index++] = newChar; …Run Code Online (Sandbox Code Playgroud)