コードで libcurl を使用しており、curl_easy_perform() の最初の数回の試行で適切な値が返されますが、その後、最初の 800 バイトほどが削除されていることがわかります。ポインター write_data 関数は、最初の 800 バイト程度の後にストリームを指すように渡されます。
これが私が使用するコードのスニペットです-
ctx = curl_easy_init();
curl_easy_setopt(ctx, CURLOPT_POSTFIELDS, bodyData);
curl_easy_setopt(ctx, CURLOPT_URL, serverUrl);
curl_easy_setopt(ctx, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(ctx, CURLOPT_WRITEDATA, response);
res = curl_easy_perform(ctx);
curl_easy_cleanup(ctx);
編集:わかりましたので、一部のリクエストでは、1 つの curl_easy_perform() に対して write_data が 2 回呼び出されることがわかります。したがって、write_data は最初の x バイトを取得し、次に残りを読み取ります。しかし、私の write_data 関数は毎回応答ポインターをオーバーライドしています。応答ポインターに memcpy または連結する必要があるかどうかを知るにはどうすればよいですか? 状況を適切に説明できることを願っています。
ありがとう
P