How to parse HTTP responses in C?

c, http, parsing

Solution

http-parser is a simple and super-fast HTTP parser written in C for the Node.js project

It's only 2 C files, without any external dependencies.

Problem

I'm writing a little project which interacts with a set of servers using HTTP 1.1 GET and POST. The server gives me the response after some header lines, so I though on using `strtok()` function using `\n` as the delimiter but there is a crash whenever I try to do so. Is there any simple way to parse a HTTP response in C? I would like not to use 3rd party libraries for this but if it was really necesary I won't have any problem. Thank you very much for everything. EDIT: Here is some example code, just trying to print the lines: ``` 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"); } ```

Original source