Вопрос

Я хочу настроить FTP-соединение с использованием прокси-сервера с общей сетью Apache.

Но глядя на это Поддерживает ли FTPClient FTP-соединения через прокси-сервер FTP? меня беспокоит.

Мне приходится вмешиваться в свойства системы, и в документах Sun говорится, что «Если носкиПроксиХост указан, то все TCP-сокеты будут использовать прокси-сервер SOCKS для установления соединения или принятия его».
ЧТО?Все TCP-сокеты?А как насчет моих подключений к базе данных?Или другие FTP-соединения, которые я, возможно, захочу открыть одновременно, не используя прокси?Все ли они будут затронуты?

Есть ли какой-нибудь другой способ сделать это, который не мешает остальной части моего приложения?

Это было полезно?

Решение

У вас есть несколько способов использования прокси в Java, особенно начиная с версии 1.5.

  1. Использование свойств системы:быстрый и мощный, но ограниченная гибкость
    • Вы можете использовать прокси-сервер SOCKS для всех TCP-соединений.
    • Вы также можете установить прокси-сервер для каждого протокола, что возможно для HTTP, FTP и HTTPS.
    • Для обоих методов вы можете указать список хостов, которые не буду использовать прокси
  2. Используя java.net.Proxy class (Java 1.5+), чтобы установить (или нет) Proxy за Connection
  3. Реализация java.net.ProxySelector (то же самое), что будет определять Proxy для каждого Connection по вашим критериям

См. Подробная техническая заметка Sun о сетях и прокси-серверах.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top