#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char* msg = "HTTP/1.1 200 OK\r\n"
"Date: Sat, 04 Jun 2016 13:07:05 GMT\r\n"
"Server: Apache\r\n"
"X-Powered-By: PHP/5.5.35\r\n"
"Content-Length: 2\r\n"
"Connection: close\r\n"
"Content-Type: text/html\r\n"
"\r\n"
"11\r\n";
// lookup the content-length header
char* content
= strstr(msg
, "Content-Length: "); // skip the looked up string:
content
= content
+strlen("Content-Length: "); // store the size of the contents in number of characters
int nb_chars
= atoi(content
); // lookup the content
content
= strstr(msg
, "\r\n\r\n"); // check that the substring has been found
if (content == NULL) {
printf("Couldn't find the contents within the message!"); } else {
// skip the header-content delimiter
content = content+4;
// and do useful things with the extracted data
if (nb_chars == 2) {
} else {
printf("There's been an error processing the request."); }
}
return 0;
}
I2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKaW50IG1haW4odm9pZCkgewogICAgY2hhciogbXNnID0gIkhUVFAvMS4xIDIwMCBPS1xyXG4iCiAgICAgICAgICAgICJEYXRlOiBTYXQsIDA0IEp1biAyMDE2IDEzOjA3OjA1IEdNVFxyXG4iCiAgICAgICAgICAgICJTZXJ2ZXI6IEFwYWNoZVxyXG4iCiAgICAgICAgICAgICJYLVBvd2VyZWQtQnk6IFBIUC81LjUuMzVcclxuIgogICAgICAgICAgICAiQ29udGVudC1MZW5ndGg6IDJcclxuIgogICAgICAgICAgICAiQ29ubmVjdGlvbjogY2xvc2VcclxuIgogICAgICAgICAgICAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuIgogICAgICAgICAgICAiXHJcbiIKICAgICAgICAgICAgIjExXHJcbiI7CiAgICAKICAgIC8vIGxvb2t1cCB0aGUgY29udGVudC1sZW5ndGggaGVhZGVyCiAgICBjaGFyKiBjb250ZW50ID0gc3Ryc3RyKG1zZywgIkNvbnRlbnQtTGVuZ3RoOiAiKTsKICAgIC8vIHNraXAgdGhlIGxvb2tlZCB1cCBzdHJpbmc6CiAgICBjb250ZW50ID0gY29udGVudCtzdHJsZW4oIkNvbnRlbnQtTGVuZ3RoOiAiKTsKICAgIC8vIHN0b3JlIHRoZSBzaXplIG9mIHRoZSBjb250ZW50cyBpbiBudW1iZXIgb2YgY2hhcmFjdGVycwogICAgaW50IG5iX2NoYXJzID0gYXRvaShjb250ZW50KTsKICAgIC8vIGxvb2t1cCB0aGUgY29udGVudAogICAgY29udGVudCA9IHN0cnN0cihtc2csICJcclxuXHJcbiIpOwogICAgLy8gY2hlY2sgdGhhdCB0aGUgc3Vic3RyaW5nIGhhcyBiZWVuIGZvdW5kCiAgICBpZiAoY29udGVudCA9PSBOVUxMKSB7CiAgICAgICAgcHJpbnRmKCJDb3VsZG4ndCBmaW5kIHRoZSBjb250ZW50cyB3aXRoaW4gdGhlIG1lc3NhZ2UhIik7CiAgICB9IGVsc2UgewogICAgICAgIC8vIHNraXAgdGhlIGhlYWRlci1jb250ZW50IGRlbGltaXRlcgogICAgICAgIGNvbnRlbnQgPSBjb250ZW50KzQ7CiAgICAgICAgLy8gYW5kIGRvIHVzZWZ1bCB0aGluZ3Mgd2l0aCB0aGUgZXh0cmFjdGVkIGRhdGEKICAgICAgICBpZiAobmJfY2hhcnMgPT0gMikgewogICAgICAgICAgICBwcmludGYoIlRoZSBjb250ZW50IGlzOiIpOwogICAgICAgICAgICBwcmludGYoIiVzXG4iLCBjb250ZW50KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmludGYoIlRoZXJlJ3MgYmVlbiBhbiBlcnJvciBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LiIpOwogICAgICAgIH0KICAgIH0KCglyZXR1cm4gMDsKfQo=