小编kcu*_*tzo的帖子

如何使用 C++ 从 libcURL 获取响应标头

好的,基本上我想要在发送帖子请求后得到响应标头。

这是我的发送邮政编码



    pDataInfo->recvHeadBuff = (char*)VirtualAlloc(NULL, 4096, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
    InitPost(pDataInfo);
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 5L);
    curl_easy_setopt(curl, CURLOPT_URL, pDataInfo->URL);
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, pDataInfo->PostData.c_str());
    curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback);
    curl_easy_setopt(curl, CURLOPT_HEADERDATA, pDataInfo->recvHeadBuff);
    curl_easy_perform(curl);
    curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &pDataInfo->repCode);


Run Code Online (Sandbox Code Playgroud)

k 所以在这里我试图创建一个缓冲区,我将用于我的用户数据*

回调函数:

static size_t header_callback(char* buffer, size_t size,
    size_t nitems, void* userdata)
{
    
    strcpy((char*)userdata, buffer);
    
    std::cout << (char*)userdata; // This prints the headers correctly

    return nitems * size;
}

Run Code Online (Sandbox Code Playgroud)

现在我认为我的缓冲区将填充来自标头缓冲区的字符,但是当我尝试从这个回调函数外部再次计算缓冲区时,我什么也得不到。

基本上需要帮助如何使用用户数据和缓冲区来将我的变量从这个函数中取出,ik它的noobxd。

c++ libcurl

4
推荐指数
1
解决办法
5321
查看次数

标签 统计

c++ ×1

libcurl ×1