-1
ALL, 我試圖在這裏搜索建議的主題,但沒有可用性。使用libCURL的簡單HTTP帖子
我需要使用libCURL POST請求將文件發送到Web服務器。 我正在創建我發送的文件,所以我知道它存在。 我也在這裏安裝了WireShark,所以我知道發送了什麼。
在調試會話期間,我可以看到文件已被讀取並且讀取的緩衝區正在發送出去。但是,在WireShark中,它全部顯示爲FF FF FF FF序列。
最後,操作失敗,並顯示「Error writing the body」錯誤消息返回到CURL。
任何想法可能是什麼問題?
這裏是我試過到目前爲止:
1.
result = curl_formadd(&first, &last, CURLFORM_COPYNAME, "MyFile",
CURLFORM_FILE, (const char *) fileName.c_str(),
CURLFORM_FILENAME, (const char *) fileName.c_str(),
CURLFORM_CONTENTSLENGTH, (long) file.Length(),
CURLFORM_CONTENTTYPE, "image/bitmap", CURLFORM_END);
2.
result = curl_formadd(&first, &last, CURLFORM_COPYNAME, "MyFile",
CURLFORM_FILENAME, (const char *) fileName.c_str(),
CURLFORM_STREAM, &file, CURLFORM_CONTENTSLENGTH,
(long) file.Length(), CURLFORM_CONTENTTYPE,
"image/bitmap", CURLFORM_END);
然後在這兩種情況下:
curl_easy_setopt(handle, CURLOPT_HTTPPOST, first);
curl_easy_setopt(handle, CURLOPT_POSTFIELDSIZE, file.Length());
兩個頭案件形成正確,但數據其精靈不發送。
有沒有人有想法?我覺得我錯過了很簡單的東西...