如何使用C加入分片的http请求?

y4ekin9u  于 2023-04-05  发布在  其他
关注(0)|答案(1)|浏览(81)

有一个C代码,它通过HTTP接收数据。数据很大(下载)。因此它是碎片化的。我收到这样的东西:

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 28 Mar 2023 22:51:16 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *

1f75
{"dataUpdate":"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
2000
1000..... //==other data
"status":"ok"}
 0

如何将其连接到一个JSON片段,如{“dataChunk”:“qwerty”,“status”:“ok”}?我能得到一个免费的解析器代码吗?我试图自己做一个解析器,但不能成功。

char *filterInput(unsigned char* data) {

    data = strstr(data, "{"); //start from the first figure brace
    char *idx = strstr(data, "}"); // cut off data after second figure brace
    data = str_replace(idx, "", data);
    data = concat(data, "}"); // close json with "}"

    //=====remove excess data
    data = str_replace("\r\n0", "", data);
    data = str_replace("\r\n2000\r\n", "", data);
    data = str_replace("\r\n1000\r\n", "", data);
    data = str_replace("\r\nb94\r\n", "", data);
    data = str_replace("\r\n1b94\r\n", "", data);
    data = str_replace("\r\n2b94\r\n", "", data);
    data = str_replace("\r\n3b94\r\n", "", data);
    data = str_replace("\r\n4b94\r\n", "", data);
    data = str_replace("\r\n5b94\r\n", "", data);
    data = str_replace("\r\nfd8\r\n", "", data);
    data = str_replace("\r\nb98\r\n", "", data);
    data = str_replace("\r\n1b98\r\n", "", data);
    data = str_replace("\r\n2b98\r\n", "", data);
    data = str_replace("\r\n3b98\r\n", "", data);
    data = str_replace("\r\n4b98\r\n", "", data);
    data = str_replace("\r\n5b98\r\n", "", data);
    data = str_replace("\r\n6b98\r\n", "", data);
    data = str_replace("\r\n7b98\r\n", "", data);
    data = str_replace("\r\n8b98\r\n", "", data);
    data = str_replace("\r\n14f0\r\n", "", data);

    data = str_replace("\r\n", "", data);
    char *close_brace = strstr(data, "}");

    if (close_brace != NULL) {
        data = str_replace(close_brace, "", data);
        data = strcat(data, "}");
    }
    return data;
}

char* str_replace(const char* search, const char* replace, const char* subject) {
    size_t search_size = strlen(search);
    size_t replace_size = strlen(replace);
    size_t subject_size = strlen(subject);

    // Count the number of occurrences of search in subject
    size_t count = 0;
    const char* p = subject;
    while ((p = strstr(p, search)) != NULL) {
        count++;
        p += search_size;
    }

    // Allocate memory for the new string
    size_t new_size = subject_size + count * (replace_size - search_size);
    char* new_subject = (char*)calloc(new_size + 1, sizeof(char));

    // Replace search with replace in subject
    const char* old = subject;
    char* new_p = new_subject;
    while ((p = strstr(old, search)) != NULL) {
        size_t old_size = p - old;
        memcpy(new_p, old, old_size);
        new_p += old_size;
        memcpy(new_p, replace, replace_size);
        new_p += replace_size;
        old = p + search_size;
    }
    strcpy(new_p, old);

    return new_subject;
}

有很多块要接收,我经常收到垃圾,之后我需要发送JSON到jannsson C库,所以每个字节都很重要。

ddrv8njm

ddrv8njm1#

这是我的最终解决方案,如何解析和连接来自带有body的碎片化HTTP响应的JSON数据。

char *filterInput(char* data) {

    data = strstr(data, "{"); //start from the first figure brace
    char *idx = strstr(data, "}"); // cut off data after second figure brace
    data = str_replace(idx, "", data);
    data = concat(data, "}"); // close json with "}"

    remove_substring_between_newlines(data);

    data = str_replace("\r\n0", "", data);
    data = str_replace("\r\n", "", data);

    char *close_brace = strstr(data, "}");

    if (close_brace != NULL) {
        data = str_replace(close_brace, "", data);
        data = strcat(data, "}");
    }
    return data;
}

void remove_substring_between_newlines(char *string) {
    char *start, *end;

    while ((start = strstr(string, "\r\n")) && (end = strstr(start + 2, "\r\n"))) {
        memmove(start, end + 2, strlen(end + 2) + 1);
    }
}

char *concat(const char *s1, const char *s2) {

    size_t len1 = strlen(s1);
    size_t len2 = strlen(s2);

    char *result = malloc(len1 + len2 + 1);

    if (!result) {
        fprintf(stderr, "malloc() failed: insufficient memory!\n");
        return NULL;
    }

    memcpy(result, s1, len1);
    memcpy(result + len1, s2, len2 + 1);

    return result;
}

char *str_replace(const char *search, const char *replace, const char *subject) {
    size_t search_size = strlen(search);
    size_t replace_size = strlen(replace);
    size_t subject_size = strlen(subject);

    // Count the number of occurrences of search in subject
    size_t count = 0;
    const char *p = subject;
    while ((p = strstr(p, search)) != NULL) {
        count++;
        p += search_size;
    }

    // Allocate memory for the new string
    size_t new_size = subject_size + count * (replace_size - search_size);
    char *new_subject = (char *) calloc(new_size + 1, sizeof(char));

    // Replace search with replace in subject
    const char *old = subject;
    char *new_p = new_subject;
    while ((p = strstr(old, search)) != NULL) {
        size_t old_size = p - old;
        memcpy(new_p, old, old_size);
        new_p += old_size;
        memcpy(new_p, replace, replace_size);
        new_p += replace_size;
        old = p + search_size;
    }
    strcpy(new_p, old);

    return new_subject;
}

相关问题