当发生错误(拒绝访问)时调用Curl-headerfunction和write函数



我使用curl执行下载,操作在大多数情况下都能正常工作。当我开始下载时,头会被发送到我的头函数,数据会被写入文件。

问题是在发生错误时,错误消息访问被拒绝,例如,错误消息文本同时发送到标头函数和writeFile。因此,当我执行重试时,我发现了一个大约1k大小的文件(错误消息),并开始写到它的末尾

这是预期的行为吗?(错误文本发送到两个功能)

curl_easy_setopt(session, CURLOPT_HEADERFUNCTION, postCallback);
curl_easy_setopt(session, CURLOPT_WRITEFUNCTION,writeFile);
curl_easy_setopt(session, CURLOPT_WRITEDATA, &downloadContent);
lastCURLCode = curl_easy_perform(session);
curl_easy_getinfo (session, CURLINFO_RESPONSE_CODE, &lastHttpResponse);

除非设置CURLOPT_FAILONERROR,否则无论接收到哪一个HTTP响应,标头和正文回调都会获取标头和内容。

最新更新