要在C语言中获取HTTP请求的body,可以使用libcurl库。libcurl是一个开源库,用于在C语言中进行网络传输和通信。

下面是一个使用libcurl库获取HTTP请求body的示例代码:

#include <stdio.h>
#include <curl/curl.h>

size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
    // 将获取到的数据写入文件或处理数据
    // 这里示例将数据打印到控制台
    printf("%.*s", size * nmemb, ptr);
    return size * nmemb;
}

int main() {
    CURL *curl;
    CURLcode res;

    // 初始化libcurl
    curl_global_init(CURL_GLOBAL_DEFAULT);

    // 创建curl句柄
    curl = curl_easy_init();
    if (curl) {
        // 设置URL
        curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

        // 设置回调函数,用于处理获取到的数据
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);

        // 执行HTTP请求
        res = curl_easy_perform(curl);

        // 检查请求是否成功
        if (res != CURLE_OK) {
            fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
        }

        // 清理curl句柄
        curl_easy_cleanup(curl);
    }

    // 清理libcurl
    curl_global_cleanup();

    return 0;
}

上面的示例代码使用curl_easy_setopt函数设置了URL和写入数据的回调函数。在回调函数中,可以将获取到的数据写入文件或进行其他操作。在示例中,我们将数据打印到控制台。

你可以根据自己的需求修改回调函数的实现,例如将数据写入文件或处理数据。

请注意,你需要在编译时链接libcurl库。如果使用gcc编译,可以使用以下命令:

gcc example.c -lcurl -o example

这将生成一个名为example的可执行文件,你可以运行它来测试获取HTTP请求的body。

希望这可以帮助到你

Linux c http 获取请求的body

原文地址: https://www.cveoy.top/t/topic/iClo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录