Подключение к прокси SOCKS5 для работы с FTP / S в Java - PullRequest
2 голосов
/ 21 октября 2010

Я пишу работу, которая будет подключаться к клиентскому FTP / S-серверу через мой прокси-сервер SOCKS5, и я использую пакет Apache Commons Net.Проблема в том, что мой прокси-сервер SOCKS настроен так, чтобы не требовать аутентификации, но я все еще получаю следующее исключение:

java.net.SocketException: SOCKS : authentication failed
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:443)
    at java.net.Socket.connect(Socket.java:519)

Я попытался установить свойства java.net.socks.username и пароля для пустых строкно я все еще понимаюЕсть ли способ, которым я могу сказать коду, чтобы не использовать аутентификацию?Копаясь в исходном источнике, я почти думаю, что он запрашивает прокси-сервер для проверки подлинности, но я не уверен.

1 Ответ

3 голосов
/ 21 октября 2010

Хорошо, проблема в том, что мой прокси-сервер SOCKS был настроен для запроса аутентификации, но также для приема соединений, которые не аутентифицировались.Мы используем Dante , и хотя такие программы, как Filezilla, достаточно умны, чтобы перебирать все приемлемые методы аутентификации, похоже, что пакет java.net выходит из первого поставленного метода.Поскольку моя конфигурация аутентификации в моем файле sockd.conf была следующей:

method: username none
user.notprivileged: nobody

java.net требовал имя пользователя и пароль.Я просто переключил методы на «none username», и и Filezilla, и java.net правильно проходят через прокси.Это что-то вроде ИТ-решения, но что бы ни заставляло код работать, верно?

...