Skip to content
Related Articles

Related Articles

Improve Article
java.net.Proxy Class in Java
  • Difficulty Level : Hard
  • Last Updated : 21 Apr, 2021

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 NameDescription
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:

  1. First, we have created a Socket Address in order to use with the proxy object.
  2. Then created a HTTP type proxy with that address. 
  3. 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 addressaddresses with port 8080
        // by creating object of SocketAddress class
        SocketAddress addr = new InetSocketAddress(
            "webcache.example.com", 8080);
  
        // Creating proxy object of type HTTP with
        // adress 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
            URL url = new URL("http://java.example.org/");
  
            // 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 occured
            // 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:

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :