РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1163 of 1163 menu

Класс Proxy

Класс Proxy из пакета java.net используется для представления настроек прокси-сервера. Он позволяет указать тип прокси и адрес, через который будут выполняться сетевые подключения. Класс не предоставляет методов для самого соединения - его задача описать прокси, который затем передается в другие сетевые классы, например в Socket или URLConnection. В первом параметре конструктора мы передаем тип прокси из перечисления Proxy.Type, во второй - объект SocketAddress с адресом и портом прокси-сервера.

Перечисление Proxy.Type содержит три значения: DIRECT - прямое соединение без прокси, HTTP - прокси для HTTP-протокола и SOCKS - прокси по протоколу SOCKS.

Синтаксис

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("host", port)); Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("host", port)); Proxy proxy = Proxy.NO_PROXY;

Пример

Давайте создадим прокси типа HTTP и выведем его тип и адрес:

import java.net.InetSocketAddress; import java.net.Proxy; public class Main { public static void main(String[] args) { Proxy proxy = new Proxy( Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8080) ); System.out.println(proxy.type()); System.out.println(proxy.address()); } }

Результат выполнения кода:

HTTP /127.0.0.1:8080

Пример

Давайте воспользуемся константой NO_PROXY, которая обозначает прямое соединение без прокси:

import java.net.Proxy; public class Main { public static void main(String[] args) { Proxy proxy = Proxy.NO_PROXY; System.out.println(proxy.type()); System.out.println(proxy.address()); } }

Результат выполнения кода:

DIRECT null

Пример

Давайте создадим прокси типа SOCKS и сравним его с другим прокси через метод equals:

import java.net.InetSocketAddress; import java.net.Proxy; public class Main { public static void main(String[] args) { Proxy proxy1 = new Proxy( Proxy.Type.SOCKS, new InetSocketAddress("127.0.0.1", 1080) ); Proxy proxy2 = new Proxy( Proxy.Type.SOCKS, new InetSocketAddress("127.0.0.1", 1080) ); boolean res = proxy1.equals(proxy2); System.out.println(res); } }

Результат выполнения кода:

true

Смотрите также

  • класс Socket,
    который создает клиентский сокет
  • класс URL,
    который представляет адрес ресурса
  • класс openConnection,
    который открывает соединение по URL
  • класс InetAddress,
    который представляет IP-адрес
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить