gpt4 book ai didi

c - 内存中的 HTTP BODY 而不是写入磁盘

转载 作者:太空宇宙 更新时间:2023-11-04 07:26:21 25 4
gpt4 key购买 nike

是否可以将 HTTP 请求的主体作为数据流存储在内存中。

具体来说,我正在使用 libcurl C 库编写一些 HTTP 请求,其想法是将 HTTP 响应的主体保存在内存中而不是写入磁盘。

各种 curl_easy_setopt 选项(CURLOPT_WRITEFUNCTION、CURLOPT_WRITEDATA)实际上将响应主体写入文件。我想要的是能够直接处理体内的数据流,而不管它是什么。

一些调子:

char* dataStream = HTTP_RESPONSE_BODY

这是因为 HTTP 主体将被传递给其他东西以进行进一步处理和写入磁盘以及读回需要时间,尤其是对于大文件。我知道我可能没有足够的内存来保存大数据,但它肯定比写入磁盘并再次读取更快。

最佳答案

您可以通过使 cURL 匹配原型(prototype)来告诉 cURL 将数据传递给您自己定义的函数:size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp); 和调用:curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, write_data);

这在官方 libcurl 教程中提到:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html

关于c - 内存中的 HTTP BODY 而不是写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18057476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com