Проблема с ftp запросом

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Проблема с ftp запросом

Сообщение Создатель » 21.10.2005 (Пт) 19:47

Вот листинг общения с ftp сервером:

Код: Выделить всё
SERVER: 220 Microsoft FTP Service
CLIENT: USER anonymous
SERVER: 331 Anonymous access allowed, send identity (e-mail name) as password.
CLIENT: PASS asd@asd.com
SERVER: 230-Welcome to ftp.microsoft.com.  Please also visit http://www.microsoft.com/downloads.
CLIENT: PASV
SERVER: 230 Anonymous user logged in.


Почему сервер не посылает весь ответ на запрос PASS за раз? Почему он посылает вторую строку только после моей команды pasv:

CLIENT: PASV
SERVER: 230 Anonymous user logged in.

Разве он имеет на это право?
Вобщем как это обойти (каждый раз проверять?)
Последний раз редактировалось Создатель 22.10.2005 (Сб) 6:49, всего редактировалось 1 раз.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.10.2005 (Пт) 20:01

Не знаю, что у тебя не так. Только что сам телнетом подцепился - всё как надо.
Код: Выделить всё
>telnet ftp.microsoft.com 21
220 Microsoft FTP Service
USER anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
PASS IEUser@
230-Welcome to ftp.microsoft.com.  Please also visit http://www.microsoft.com/downloads.
230 Anonymous user logged in.
QUIT
221 Thank you for visiting ftp.microsoft.com.


Подключение к узлу утеряно.
Изображение

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 22.10.2005 (Сб) 6:59

Так вот я и пишу класс, чтоб нормально работал. Получается сервер не зараз все закидывает в поток?(т.к. я считываю всю инфу из потока)

Выходит после команды PASS он сначала кидает вот это:
Код: Выделить всё
SERVER: 230-Welcome to ftp.microsoft.com.  Please also visit http://www.microsoft.com/downloads.


И потом уже отдельно вот это:
Код: Выделить всё
230 Anonymous user logged in.


Кто нибудь с этим сталкивался? Как обходили?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.10.2005 (Сб) 9:47

Создатель писал(а):Так вот я и пишу класс, чтоб нормально работал. Получается сервер не зараз все закидывает в поток?(т.к. я считываю всю инфу из потока)

Не зараз.

А в чём проблема-то? Кода 230 тебе недостаточно?
Неужели ты текст откликов анализируешь?
А если FTP-сервер, не дай бог, немецкий будет? ;-)
Изображение

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 22.10.2005 (Сб) 10:57

Да нет конечно, не текст :lol:

Просто, допустим отправляю я серверу:
Код: Выделить всё
PASS asd@asd.com


Он мне отвечает :
Код: Выделить всё
230-Welcome to ftp.microsoft.com.  Please also visit http://www.microsoft.com/downloads.


Я естественно, думаю, что все в порядке. Ну и отправляю команду перехода в пассивный режим (PASV) . А он мне на это вместо ip и порта присылает вторую строку подтверждения на PASS:
Код: Выделить всё
230 Anonymous user logged in.


Тут естественно ошибка...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.10.2005 (Сб) 11:20

Подожди, а что ты делаешь с серверами, которые шлют много 220 подряд?
Вот тебе ftp.nstu.ru для примера.
Изображение

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 22.10.2005 (Сб) 13:11

Ну вроде как разобрался. Теперь после отправки следующей команды проверяю, все ли мне сервер ответил.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 107

    TopList