我们想通过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进行调整

08-04 15:01