Подключение к FTP-серверу через HTTP-прокси

Я использую it.sauronsoftware.ftp4j для подключения к FTP-серверу через Интернет через порт 21.

Я подключаюсь через HTTP-прокси, поэтому я использую HTTPTunnelConnector.

Я могу подключиться и войти на FTP и установить режим пассивного без проблем

Теперь, когда я пытаюсь загрузить файл, файлы LIST или что-либо еще, требующее подключения к данным, я получаю "425 Не удается открыть подключение к данным" с FTP-сервера. Итак, я могу установить обычное FTP-соединение, но проблема с передачей данных.

Теперь, что меня озадачивает, это то, что в 10-15% случаев подключение к данным фактически проходит, и я могу загрузить файл! Когда я сразу после этого перезапускаю свою программу, она снова завершается с ошибкой с кодом ошибки 425 и продолжает делать это до тех пор, пока она снова не заработает.

Это заставляет меня думать, что это может быть проблема с портом - что соединение для передачи данных останавливается заблокированным портом, и иногда бывает достаточно удачно найти открытый порт, через который он может подключиться - но это необразованное предположение.

Кто-нибудь испытывал нечто подобное? Я полагаю, что это проблема порта в HTTP-прокси или, возможно, в брандмауэре перед FTP-сервером, звучит правильно?

Изменить: я подключил FTPCommunicationListener к клиенту. Вот журнал связи (цензурируется по IP-адресам, именам пользователей и паролям)

Connected, logging in
Sent: USER username
Received: 331 Password required for username
Sent: PASS password
Received: 230 Logged on
Sent: FEAT
Received: 211-Features:
Received:  MDTM
Received:  REST STREAM
Received:  SIZE
Received:  MLST type*;size*;modify*;
Received:  MLSD
Received:  AUTH SSL
Received:  AUTH TLS
Received:  PROT
Received:  PBSZ
Received:  UTF8
Received:  CLNT
Received:  MFMT
Received: 211 End
Sent: OPTS UTF8 ON
Received: 200 UTF8 mode enabled
Sent: TYPE A
Received: 200 Type set to A
Sent: PASV
Received: 227 Entering Passive Mode (xx,xx,xx,xx,xx,xx)
Sent: REST 0
Received: 350 Rest supported. Restarting at 0
Sent: RETR /directory/file.csv
Received: 425 Can't open data connection.
it.sauronsoftware.ftp4j.FTPException [code=425, message= Can't open data connection.]
    at it.sauronsoftware.ftp4j.FTPClient.download(FTPClient.java:3330)
    at it.sauronsoftware.ftp4j.FTPClient.download(FTPClient.java:3213)
    at it.sauronsoftware.ftp4j.FTPClient.download(FTPClient.java:3078)
    at FtpTest.getFileOutputStream(FtpTest.java:131)
    at FtpTest.main(FtpTest.java:18)

Отправлено: ВЫЙТИ Получено: 221 До свидания

0 ответов

Другие вопросы по тегам