A proxy is an immutable object and type of tool or application or program or system, which helps to protect the information of its users and computers. It acts as a barrier between computer and internet users. A Proxy Object defines the Proxy settings to be used with a connection. Proxy servers are already pre-installed in Windows in a type of program or application. It is automatically saved in the settings section. You can also make customs for which site you want to use a proxy. InetSocketAddress class from java.net package implements IP socket address(combination of IP address and port number). The objects of this class are immutable and can be used for binding, connecting purposes
The java.net.Proxy class represents a proxy setting which is basically a type and a socket address. The class contains a special field that is the no proxy field. It is written as Proxy NO_PROXY; this setting tells the protocol handler not to use any proxy setting and represents a Direct connection.
Syntax: Class Declaration
public class Proxy extends Object
Let us do discuss the constructor of this class prior to jumping onto the methods
Proxy(Proxy.Type type, SocketAddress sa)
Methods of the class are as follows
Method Name | Description |
---|---|
address() | Returns the socket address of the proxy or returns null for a direct connection. |
equals() | Compares both the proxy objects and returns true only if the type and address are same. |
hashCode() | Returns a hashcode for the proxy. |
toString() | Returns a string representation of the proxy. |
type() | Returns the type of the proxy object. |
Approach:
- First, we have created a Socket Address in order to use with the proxy object.
- Then created a HTTP type proxy with that address.
- Then we have created a URL connection with the proxy we created.
Implementation:
Example
Java
// Java Program to illustrate Proxy Class // of java.net package // Importing input output classes import java.io.*; // importing java net package to use address and url fields import java.net.*; // importing the java proxy package import java.net.Proxy; // Main class public class GFG { // Main driver method public static void main(String[] args) { // Creating socket address with port 8080 // by creating object of SocketAddress class SocketAddress addr = new InetSocketAddress( "webcache.example.com" , 8080 ); // Creating proxy object of type HTTP with // address addr using the class constructor Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // Try block to check for exceptions try { // Creating URL connection using the above proxy // by creating an object of URL class // Now setting the connecting by // creating an object of URLConnection class URLConnection conn = url.openConnection(proxy); } // Catch block to handle the exceptions catch (Exception e) { // Print the line number here exception occurred // using the printStackTrace() method e.printStackTrace(); // Display message only illustrating System.out.println( false ); } // Printing Proxy Type // using type() method System.out.println( "Proxy Type: " + proxy.type()); // Printing Proxy Address // using address() method System.out.println( "Proxy Address: " + proxy.address()); // Printing Proxy Hashcode // using hashCode() method System.out.println( "Proxy HasHCode: " + proxy.hashCode()); // Printing Proxy String representation // using toString() method System.out.println( "Proxy String: " + proxy.toString()); } } |
Output: