我们想通过https post将文件发布到Web服务器。
我们成功地将小文件发布到Web服务器,但是当我们发布大文件(超过10MB)时,我们收到此错误:
SSL读取:错误:00000000:lib(0):func(0):原因(0),错误10054
Curl_http_done:称为过早== 1
关闭连接0
libcurl版本:7.50.3
open ssl版本:openssl-1.0.1t。
我们已经在Web服务器上修改了帖子大小的配置。我们可以通过网页发布大文件,但与此同时,我们不能通过带有https post的libcurl来发布大文件。
我们能做些什么?非常感谢!
我们为POST设置的选项如下所示:
curl_global_init(CURL_GLOBAL_ALL);
CURL* hCurl = curl_easy_init();
if (hCurl != NULL)
{
curl_httppost* pFormPost = NULL;
curl_httppost* pLastElem = NULL;
curl_formadd(&pFormPost, &pLastElem,
CURLFORM_COPYNAME, "ufile01",
CURLFORM_FILE, "vlc.rar",
CURLFORM_CONTENTTYPE, "application/octet-stream",
CURLFORM_END);
curl_easy_setopt(hCurl, CURLOPT_HTTPPOST, pFormPost);
curl_easy_setopt(hCurl, CURLOPT_URL, url);
curl_easy_setopt(hCurl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(hCurl, CURLOPT_SSL_VERIFYHOST, 0L);
CURLcode res = curl_easy_perform(hCurl);
if (res != CURLE_OK)
{
printf("Error");
}
curl_formfree(pFormPost);
curl_easy_cleanup(hCurl);
}
curl_global_cleanup();
最佳答案
考虑检查Web服务器上的POST大小。对于PHP,可以通过post_max_size进行调整