Все,
У меня проблема с удаленным ftp-сервером, который занимает меня уже три дня, и я схожу с ума по этому поводу. :(
Некоторое время назад я написал простой класс извлечения ftp, который использует apache commons-net 2.0. Класс отлично работает на 5 разных ftp серверах, я могу получать данные как хочу. Теперь я столкнулся с сервером, к которому мне нужно подключиться, который просто не позволяет мне перечислять каталоги или получать данные.
Это порядок команд, которые отправляются и извлекаются моим классом:
220 (vsFTPd 2.0.1)
USER XXXXXXX
331 Please specify the password.
PASS XXXXXXX
230 Login successful
TYPE I
200 Switching to Binary mode.
PASV
227 Entering Passive Mode (XXX,XXX,XXX,XXX,XXX,XXX)
NLST
150 Here comes the directory listing.
226 Directory send OK.
SYST
215 UNIX Type: L8
PASV
227 Entering Passive Mode (XXX,XXX,XXX,XXX,XXX,XXX)
LIST
150 Here comes the directory listing.
На последней строке мой код висит на неопределенное время (ну я его убил после 2-х часов ожидания, чтобы посмотреть, как долго он будет блокироваться). Я пробовал все, от использования активного соединения до установки типа ASCII и использования разных ftp-библиотек - всегда с одним и тем же результатом.
Обычно я просто звонил ребятам и говорил им, что их сервер настроен неправильно. Однако подключение через FileZilla не только работает, но и выполняется молниеносно и никогда не вызывает никаких проблем. Кроме того, подключение через командную строку в Linux работает как шарм.
Я здесь совершенно потерян. У кого-нибудь есть идеи, почему у меня эта проблема?
Ваше здоровье