Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> cURL и FTP, выполнить upload 
:(
    Опции темы
Verus
Дата 10.10.2008, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Приведите пожалуйста пример кода, как с помощью cURL залить на FTP сервер файл. Весь инет изрыл, а так и не нашел. Спасибо.
PM MAIL   Вверх
MAKCim
Дата 10.10.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(Verus @  10.10.2008,  19:11 Найти цитируемый пост)
Весь инет изрыл, а так и не нашел

извините, но это глупость


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Verus
Дата 10.10.2008, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Вот какой код я использую. Файл не заливается.
Код

CURLcode geturl()
{
    CURL *curl;
    CURLcode res;
    curl = curl_easy_init();
    if(curl)
    {
        long size;
        FILE* fp = fopen("text", "r");

                char url[] = "ftp://login:[email protected]:21";
                curl_easy_setopt(curl, CURLOPT_URL, url);
                curl_easy_setopt(curl, CURLOPT_UPLOAD, 1);
                curl_easy_setopt(curl, CURLOPT_INFILE, fp);
                curl_easy_setopt(curl, CURLOPT_INFILESIZE, size);

        res = curl_easy_perform(curl);
        curl_easy_cleanup(curl);
        fclose(fp);
    }

    return res;
}

PM MAIL   Вверх
MAKCim
Дата 10.10.2008, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



size не инициализирован
вместо INFILE используй READDATA

Добавлено через 1 минуту и 34 секунды
Verus
покажи вывод strace при выполнении кода


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Verus
Дата 10.10.2008, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Переделал на это. Взято тут 
возвращает код 3. В логах сервера написано что пользователь вошел и тут же сессия закрыта.
Код

CURLcode geturl()
{
    CURL *curl;
    CURLcode res;
    curl = curl_easy_init();
    if(curl)
    {
        long size;
        FILE* fp = fopen("text", "rb");
        fseek (fp, 0, SEEK_END);
        size=ftell(fp);
        rewind(fp);
        char url[] = "ftp://root:[email protected]:21";
        curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
        curl_easy_setopt(curl,CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_READDATA, fp);
        curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, size);
        res = curl_easy_perform(curl);
        fclose(fp);
    }
    curl_easy_cleanup(curl);
    return res;
}

PM MAIL   Вверх
MAKCim
Дата 10.10.2008, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Verus
ты вроде как в url не указываешь файл


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Verus
Дата 10.10.2008, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Спасибо большое, это помогло smile

Добавлено через 4 минуты и 41 секунду
Можно еще вопрос? smile
Мне необходимо залить много каталогов и в них пофайлу еще. Как это можно реализовать?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0696 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.