2

S ftpで libcurl を使用してファイルサイズとファイル時間を取得する方法。これが私のコードです:

public RequestFileInfo(const String:filename[])
{   
    new Handle:curl = curl_easy_init();
    if(curl != INVALID_HANDLE)
    {
        CURL_DEFAULT_OPT(curl);

        curl_easy_setopt_string(curl, CURLOPT_URL, filename);
        curl_easy_setopt_string(curl, CURLOPT_USERPWD, sFtpUserPassword);
        curl_easy_setopt_int(curl, CURLOPT_NOBODY, 1);
        curl_easy_setopt_int(curl, CURLOPT_FILETIME, 1);

        curl_easy_perform_thread(curl, onComplete, 1);

    }
}

32 個のファイル (for ループ) についてこの情報を要求しましたが、最初の 16 個のファイルで次のエラーが発生しました。

1 FAIL - Failed initialization

そして、この結果は他のものです:

filetime = -1
filesize = 0.000000

結果のコードは次のとおりです。

new filetime = 0;
res = curl_easy_getinfo_int(hndl, CURLINFO_FILETIME, filetime);
if(CURLE_OK != res) {
    //TODO error
}

new Float:filesize = 0.0;
res = curl_easy_getinfo_int(hndl, CURLINFO_CONTENT_LEN_DOWNLOAD, filesize);
if(CURLE_OK != res) {
    //TODO error
}

しかし、これはすべてftpサーバーでうまく機能します。

4

0 に答える 0