Java的.net.Proxy类在Java中
代理是不可变的对象和类型的工具或应用程序或程序或系统,它有助于保护其用户和计算机的信息。它充当计算机和互联网用户之间的障碍。代理对象定义要与连接一起使用的代理设置。代理服务器已经以某种程序或应用程序的形式预安装在 Windows 中。它会自动保存在设置部分。您还可以自定义要使用代理的站点。 Java.net 包中的InetSocketAddress 类实现了 IP 套接字地址(IP 地址和端口号的组合)。此类的对象是不可变的,可用于绑定、连接目的
Java.net.Proxy类代表一个代理设置,它基本上是一个类型和一个套接字地址。该类包含一个特殊字段,即无代理字段。它被写成代理 NO_PROXY;此设置告诉协议处理程序不要使用任何代理设置并表示直接连接。
语法:类声明
public class Proxy extends Object
让我们在跳到方法之前讨论这个类的构造函数
Proxy(Proxy.Type type, SocketAddress sa)
类的方法如下
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. |
方法:
- 首先,我们创建了一个套接字地址以便与代理对象一起使用。
- 然后使用该地址创建了一个 HTTP 类型的代理。
- 然后我们创建了一个与我们创建的代理的 URL 连接。
执行:
例子
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());
}
}
输出: