Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Си работа с FTP  (Прочитано 1167 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LanGhost

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Си работа с FTP
« : 17 Февраля 2013, 14:22:28 »
Нигде не могу найти инфу как отправлять/скачивать бинарные файлы с/на FTP сервер средствами чистого Си. Хотел сначала средствами GClientSocket библиотеки Gtk, но примеров не нашёл.
Потом нашёл исходники проги gftp, скомпилил библиотеки, но моя прога с их использованием компилиться не хочет.
Уже на киберфоруме прочитал, что можно использовать cURL, попробовал пример с ним
#include <stdio.h>
#include <curl/curl.h>

int main()
{
CURL *curl;
CURLcode result;

char adr[] = "ftp://test:test@94.180.119.***";

curl = curl_easy_init();
if (!curl)
puts("Невозможно инициализировать CURL");
else
puts("Инициализирован");

FILE* f = fopen("data", "rb");
curl_easy_setopt(curl, CURLOPT_URL, adr);

curl_easy_setopt(curl, CURLOPT_URL, adr);
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1);
curl_easy_setopt(curl, CURLOPT_INFILE, f);
curl_easy_setopt(curl, CURLOPT_INFILESIZE, 1/*размер_файла*/);

result = curl_easy_perform(curl);
if (result == CURLE_OK)
puts("Всё ок");
else
puts("Фейл");
        fclose(f);
curl_easy_cleanup(curl);
return 0;
}
Но выдаётся ошибка.
« Последнее редактирование: 17 Февраля 2013, 14:28:00 от LanGhost »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Си работа с FTP
« Ответ #1 : 17 Февраля 2013, 15:27:57 »
...
Но выдаётся ошибка.
Погоди я инструменты для пыток принесу и сразу приступим к обсуждению этой ошибки

Оффлайн LanGhost

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Си работа с FTP
« Ответ #2 : 17 Февраля 2013, 15:32:06 »
puts("Фейл");

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Си работа с FTP
« Ответ #3 : 18 Февраля 2013, 08:13:19 »
Супер... открой документацию CURL по обработке ошибок и посмотри как понять что произошло.

 

Страница сгенерирована за 0.073 секунд. Запросов: 25.