The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"ftp login"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"ftp login" 
Сообщение от glisy emailИскать по авторуВ закладки(ok) on 10-Мрт-05, 12:38  (MSK)
Hi!
Возникла необходимость написать прогу которая коннектиться к ftp серверу и приозводит на нём некоторые действия. НО не могу залогиниться!!!!! Возможно кусочек кода поможет ответить на вопрос. Зараннее спасибо!
/*
тут я открываю сокет, произвожу коннект и т.д.
*/
printf("CONNECT!!!\n");

read(sockfd, otvet, sizeof(otvet)); /*sockfd дескриптор otvet это char[200]*/

printf("%s", otvet);

snprintf(buff, sizeof(buff), "USER anonymous\r\n");
write(sockfd, buff, sizeof(buff)); /*char buff[200]*/
printf("%s", buff);
read(sockfd, otvet, sizeof(otvet));
printf("%s", otvet);

snprintf(buff, sizeof(buff), "PASS anonymous\r\n");
write(sockfd, buff, sizeof(buff));
printf("%s", buff);
read(sockfd, otvet, sizeof(otvet));
printf("%s", otvet);
printf("\n");
return 0;

/*
Причём "USER anonymous" получает и не ругаеться а говорю PASS мне сообщают что надо залогиниться использую USER PASS.
Просто уже не знаю в чем же дело!
*/

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • ftp login, MaximKuznetsov, 12:48 , 10-Мрт-05, (1)  
    • ftp login, glisy, 12:52 , 10-Мрт-05, (2)  
      • ftp login, rgo, 07:02 , 15-Мрт-05, (3)  
        • ftp login, glisy, 13:25 , 17-Мрт-05, (4)  
          • ftp login, Maxim Kuznetsov, 13:52 , 17-Мрт-05, (5)  
            • ftp login, glisy, 16:47 , 17-Мрт-05, (6)  
              • ftp login, MaximKuznetsov, 19:45 , 17-Мрт-05, (7)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "ftp login" 
Сообщение от MaximKuznetsov Искать по авторуВ закладки on 10-Мрт-05, 12:48  (MSK)
>snprintf(buff, sizeof(buff), "USER anonymous\r\n");
>write(sockfd, buff, sizeof(buff)); /*char buff[200]*/
И зачем ты ему туда 200 байт напихал ?

>snprintf(buff, sizeof(buff), "PASS anonymous\r\n");
>write(sockfd, buff, sizeof(buff));
Та же самая фигня - передавай только ту информацию которую надо, а несь буфер - в нем мусора до вола.

Плюс к тому к качестве пароля неплохо использовать нечто похожее не email - строчку с собачкой

>/*
>Причём "USER anonymous" получает и не ругаеться а говорю PASS мне сообщают
>что надо залогиниться использую USER PASS.
>Просто уже не знаю в чем же дело!
>*/

P.S проще было-бы все это сделать на expect`е ...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "ftp login" 
Сообщение от glisy emailИскать по авторуВ закладки(ok) on 10-Мрт-05, 12:52  (MSK)
Спасибо большое....


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "ftp login" 
Сообщение от rgo Искать по авторуВ закладки(ok) on 15-Мрт-05, 07:02  (MSK)
Совет из моего личного опыта, сделай так (просто рази удобства):

FILE* sockf;

sockf = fdopen (sockfd, "r+");

fputs (sockf, "USER anonymous\r\n");

... и так далее.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "ftp login" 
Сообщение от glisy emailИскать по авторуВ закладки(??) on 17-Мрт-05, 13:25  (MSK)
Всем большое спасибо.. сейчас уже много работает, но есть проблемма до решения которой я никак не могу додуматься...Проблема такая : нужно получить список ВСЕХ файлов и директорий с ftp сервера. Как это начал раелизовывать я и на чём остановился: 1 получаю список файлов и с помошью функции sscanf() понимаю что первый файл являеться директорией или обычным файлом (drwxrwxrwx) а из конца беру имя этого файли и если эта директория то говорю cwd "%s" dirname таким образом я дохожу до того момента когда директории заончаться (опято же я простоматриваю только первую директорию в первой директории и т.д. ну а это меня не устраивает так как нужно получить полный список файлов) подскажите пожалуйста советом или ссылкой буду крайне признателен!!!

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "ftp login" 
Сообщение от Maxim Kuznetsov Искать по авторуВ закладки on 17-Мрт-05, 13:52  (MSK)
>Всем большое спасибо.. сейчас уже много работает, но есть проблемма до решения
>которой я никак не могу додуматься...Проблема такая : нужно получить список
>ВСЕХ файлов и директорий с ftp сервера. Как это начал раелизовывать
>я и на чём остановился: 1 получаю список файлов и с
>помошью функции sscanf() понимаю что первый файл являеться директорией или обычным
>файлом (drwxrwxrwx) а из конца беру имя этого файли и если
>эта директория то говорю cwd "%s" dirname таким образом я дохожу
>до того момента когда директории заончаться (опято же я простоматриваю только
>первую директорию в первой директории и т.д. ну а это меня
>не устраивает так как нужно получить полный список файлов) подскажите пожалуйста
>советом или ссылкой буду крайне признателен!!!
Обычный рекурсивный обход дерева - что тут такого ?
(типа псевдокод)
получаем список файлов текущего каталога,
для каждого файла
  если это симлинк на каталог, то в первом варианте игнорируем
  если это каталог - cd в него, рекурсивный вызов
  если обычный файл - добавляем в полный список
(все - получен список всех файлов)
собственно остается решить что делать с символическими ссылками, для избежания зацикливания и + возможно физически огранить глубину рекурсии,
по тем же соображениям.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "ftp login" 
Сообщение от glisy emailИскать по авторуВ закладки(??) on 17-Мрт-05, 16:47  (MSK)
>Обычный рекурсивный обход дерева - что тут такого ?
>(типа псевдокод)
>получаем список файлов текущего каталога,
>для каждого файла
>  если это симлинк на каталог, то в первом варианте игнорируем
>
>  если это каталог - cd в него, рекурсивный вызов
>  если обычный файл - добавляем в полный список
>(все - получен список всех файлов)
>собственно остается решить что делать с символическими ссылками, для избежания зацикливания и
>+ возможно физически огранить глубину рекурсии,
>по тем же соображениям.

Дело в том что это достаточно непросто в реализации из за того что
1 как можно наверное понять из моих вопросов я только недавно начал всерьез заниматься программированием
2 Если представить работу программы что мы видим: получаем список файлов берём первый и проверяем директория это или нет. Если да то говорим cwd <имя директории> и попадаем в неё. В ней тоже огромное количество директорий из которых я выбираю первыую и вхожу туда. Как предлагаеться действовать когда дойдем до того момента когда директории закончаться? Или я принципиально чего то не понимаю и ошибка в самом методе???

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "ftp login" 
Сообщение от MaximKuznetsov Искать по авторуВ закладки on 17-Мрт-05, 19:45  (MSK)
потренеруйтесь на локальной файловой системе ;-)
( если память не изменяет, то в info про opendir есть пример с рекурсивным обходом)
почитайте книжек, посмотрите что такое рекурсия..
Рано видимо Вы деретесь за работу с удалёнными системами :(
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру