Module java.base
Package java.net

Class Proxy



  • public class Proxy
    extends Object
    This class represents a proxy setting, typically a type (http, socks) and a socket address. A Proxy is an immutable object.
    Since:
    1.5
    See Also:
    ProxySelector
    • Field Detail

      • NO_PROXY

        public static final Proxy NO_PROXY
        A proxy setting that represents a DIRECT connection, basically telling the protocol handler not to use any proxying. Used, for instance, to create sockets bypassing any other global proxy settings (like SOCKS):

        Socket s = new Socket(Proxy.NO_PROXY);

    • Constructor Detail

      • Proxy

        public Proxy​(Proxy.Type type,
                     SocketAddress sa)
        Creates an entry representing a PROXY connection. Certain combinations are illegal. For instance, for types Http, and Socks, a SocketAddress must be provided.

        Use the Proxy.NO_PROXY constant for representing a direct connection.

        Parameters:
        type - the Type of the proxy
        sa - the SocketAddress for that proxy
        Throws:
        IllegalArgumentException - when the type and the address are incompatible
    • Method Detail

      • type

        public Proxy.Type type​()
        Returns the proxy type.
        Returns:
        a Type representing the proxy type
      • address

        public SocketAddress address​()
        Returns the socket address of the proxy, or null if its a direct connection.
        Returns:
        a SocketAddress representing the socket end point of the proxy
      • toString

        public String toString​()
        Constructs a string representation of this Proxy. This String is constructed by calling toString() on its type and concatenating " @ " and the toString() result from its address if its type is not DIRECT.
        Overrides:
        toString in class Object
        Returns:
        a string representation of this object.
      • equals

        public final boolean equals​(Object obj)
        Compares this object against the specified object. The result is true if and only if the argument is not null and it represents the same proxy as this object.

        Two instances of Proxy represent the same address if both the SocketAddresses and type are equal.

        Overrides:
        equals in class Object
        Parameters:
        obj - the object to compare against.
        Returns:
        true if the objects are the same; false otherwise.
        See Also:
        InetSocketAddress.equals(java.lang.Object)