LibCurl: изменение CWD

0

Я перехожу из wxFTP, который поставляется с wxWidgets в libcurl. Я имею сумасшедший способ подключиться и получить все каталоги и файл в каталоге /, просто указав URL. Теперь мне нужно перейти в другой каталог (пусть say/public_html/mysite). Я не могу сделать это с помощью libcurl.

Я не могу поверить, что его так трудно сделать в libcurl, поэтому я склонен к выводу, что я что-то пропустил. Мой соответствующий код показан ниже, и все, что у меня есть, относительные. Paths like/www not ftp URL как ftp://someurl.com/www/

Извините, если его что-то очевидное явилось очень новым для libcurl и проработало много часов уже безуспешно.

CURL* handle = curl_easy_init();
SetHandleOptions(handle); //set options
CURLcode res;

if(handle)
{
    wxString command ="CWD "+path;
    curl_easy_setopt(handle, CURLOPT_CUSTOMREQUEST , command.ToStdString().c_str());  
    res = curl_easy_perform(handle);

    if(res==CURLE_OK)
    { 

        wxString str(curl_easy_strerror(res));
        SendMessage(str);

        curl_easy_setopt(handle, CURLOPT_CUSTOMREQUEST , "MLSD");
        res = curl_easy_perform(handle);

        if(res==CURLE_OK)
        {
            wxString str(curl_easy_strerror(res));
            SendMessage(str);
        }
        else
        {
            //send error message
            wxString str(curl_easy_strerror(res));
            SendMessage(str);
        } 
    }
    else
    {
        //send error message
        wxString str(curl_easy_strerror(res));
        SendMessage(str);
    }
}
curl_easy_cleanup(handle);
Теги:
ftp
libcurl
wxwidgets

1 ответ

0
Лучший ответ

Это была моя ошибка в коде, который завершил отправку URL-адресов с помощью формата ftp://ftp.hosanna.site40.net:21/public_html Поэтому я изменил использование PORT в easy setopt.

Таким образом, это не проблема скручивания, а моя (хотя и очень тонкая для меня). Также убедитесь, что все каталоги заканчиваются/или libray, будут интерпретировать их как файлы.

например

ftp://ftp.hosanna.site40.net/public_html //interpreted as file
ftp://ftp.hosanna.site40.net/public_html/ //interpreted as directory

Ещё вопросы

Сообщество Overcoder
Наверх
Меню