libcurl を使用して HTTP POST リクエストを送信する C プログラムを作成しています。以下の 2 つの方法を使用して、2 つの異なるファイルを異なるタイミングでアップロードできます。私はWindows 7でそれを行うことができます.Windows XP SP3で実行すると、どういうわけかエラーが返されます:
ピアからデータを受信するときに失敗しました。
void sendFile()
{
struct curl_httppost *post=NULL;
struct curl_httppost *last=NULL;
CURL *curlfile;
CURLcode response;
// Get a curl handle
curlfile = curl_easy_init();
curl_easy_setopt(curlhash, CURLOPT_URL, URL);
curl_formadd(&post, &last,
CURLFORM_COPYNAME, "file1",
CURLFORM_FILECONTENT, "C:\\file1.txt",
CURLFORM_END
);
curl_easy_setopt(curlfile, CURLOPT_HTTPPOST, post);
response = curl_easy_perform(curlfile);
curl_formfree(post);
curl_easy_cleanup(curlfile);
}
void sendFileTwo()
{
CURL *curlpost;
CURLcode response;
struct curl_httppost *post=NULL;
struct curl_httppost *last=NULL;
// Get a curl handle
curlpost = curl_easy_init();
curl_easy_setopt(curlpost, CURLOPT_URL, URL);
curl_formadd(&post, &last,
CURLFORM_COPYNAME, "File2",
CURLFORM_FILE, "C:\\file2.txt",
CURLFORM_END
);
curl_easy_setopt(curlpost, CURLOPT_HTTPPOST, post);
response = curl_easy_perform(curlpost);
curl_formfree(post);
}