Module java.base
Package java.net

Class Proxy

java.lang.Object
java.net.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
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  Proxy.Type
    Represents the proxy type.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static Proxy NO_PROXY
    A proxy setting that represents a DIRECT connection, basically telling the protocol handler not to use any proxying.
  • Constructor Summary

    Constructors 
    Constructor Description
    Proxy​(Proxy.Type type, SocketAddress sa)
    Creates an entry representing a PROXY connection.
  • Method Summary

    Modifier and Type Method Description
    SocketAddress address()
    Returns the socket address of the proxy, or null if its a direct connection.
    boolean equals​(Object obj)
    Compares this object against the specified object.
    int hashCode()
    Returns a hashcode for this Proxy.
    String toString()
    Constructs a string representation of this Proxy.
    Proxy.Type type()
    Returns the proxy type.

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • 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 Details

    • 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 Details

    • 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)
    • hashCode

      public final int hashCode()
      Returns a hashcode for this Proxy.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this Proxy.
      See Also:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)