Java-API简析_java.net.Proxy类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/131881661

出自【进步*于辰的博客
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。

大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

  • 1、概述
  • 2、嵌套类摘要
    • [2.1 static Proxy.Type](#2.1 static Proxy.Type)
  • 3、字段摘要
    • [3.1 static Proxy NO_PROXY](#3.1 static Proxy NO_PROXY)
  • 4、构造方法摘要
    • [4.1 Type type, SocketAddress sa](#4.1 Type type, SocketAddress sa)
  • 5、方法摘要
    • [5.1 SocketAddress address()](#5.1 SocketAddress address())
    • [5.2 boolean equals(Object obj)](#5.2 boolean equals(Object obj))
    • [5.3 int hashCode()](#5.3 int hashCode())
    • [5.4 String toString()](#5.4 String toString())
    • [5.5 Proxy.Type type()](#5.5 Proxy.Type type())
  • [6、关于 `Proxy.Type`](#6、关于 Proxy.Type)
    • [6.1 概述](#6.1 概述)
    • [6.2 枚举常量摘要](#6.2 枚举常量摘要)
      • [6.2.1 DIRECT](#6.2.1 DIRECT)
      • [6.2.2 HTTP](#6.2.2 HTTP)
      • [6.2.3 SOCKS](#6.2.3 SOCKS)
    • [6.3 方法摘要](#6.3 方法摘要)
      • [6.3.1 static Proxy.Type valueOf(String name)](#6.3.1 static Proxy.Type valueOf(String name))
      • [6.3.2 static Proxy.Type[] values()](#6.3.2 static Proxy.Type[] values())
  • 7、构造方法摘要(不开放)
    • [7.1 private (null)](#7.1 private (null))

1、概述

public class Proxy extends Object

此类表示代理设置,通常为类型httpsocks)和套接字地址 。Proxy 是不可变对象。

从以下版本开始:

1.5
另请参见:
ProxySelector

2、嵌套类摘要

2.1 static Proxy.Type

表示代理类型。(见第6项)

3、字段摘要

3.1 static Proxy NO_PROXY

表示 DIRECT 连接的代理设置,主要通知协议处理程序 不使用任何代理。

4、构造方法摘要

4.1 Type type, SocketAddress sa

创建表示 PROXY 连接的条目。
说明:

先看源码。

关于SocketAddress,见InetSocketAddress类

图中红框部分的意思是:若此代理对象表示直接连接 (不使用代理)或sa不属于套接字 ip
示例:

java 复制代码
InetAddress ip = InetAddress.getLocalHost();
InetSocketAddress sip = new InetSocketAddress(ip, 8080);
Proxy p1 = new Proxy(Proxy.Type.SOCKS, sip);
sout p1;

关于getLocalHost(),见InetAddress类的第2.10项。

打印结果:

5、方法摘要

5.1 SocketAddress address()

返回代理的套接字地址,如果其为直接连接,则返回 null。

5.2 boolean equals(Object obj)

将此对象与指定对象比较。

5.3 int hashCode()

返回此代理的哈希码。

5.4 String toString()

构造此代理的字符串表示形式。

5.5 Proxy.Type type()

返回代理类型。

6、关于 Proxy.Type

6.1 概述

所有已实现的接口:
SerializableComparable<Proxy.Type>

正在封闭类:
Proxy


go 复制代码
public static enum Proxy.Type extends Enum<Proxy.Type>

表示代理类型。

从以下版本开始:

1.5

6.2 枚举常量摘要

6.2.1 DIRECT

表示直接连接或缺少代理。

6.2.2 HTTP

表示高级协议的代理,如 HTTP 或 FTP。

6.2.3 SOCKS

表示 SOCKS(V4 或 V5)代理。

6.3 方法摘要

6.3.1 static Proxy.Type valueOf(String name)

返回带有指定名称的该类型的枚举常量。

示例:

java 复制代码
Proxy.Type type = Proxy.Type.valueOf("HTTP");
sout type;// HTTP

6.3.2 static Proxy.Type[] values()

按照声明该枚举类型的常量的顺序,返回包含这些常量的数组。

示例:

java 复制代码
Proxy.Type[] arr = Proxy.Type.values();
for (Proxy.Type e :
        arr) {
	sout e;
}

打印结果:

7、构造方法摘要(不开放)

7.1 private (null)

先看源码。

表示直接连接,不使用代理。


本文持续更新中。。。

相关推荐
路宇21 天前
Android studio设置国内镜像代理(HTTP Proxy)教程详解
android·http·android studio·proxy·代理
命运之手1 个月前
【Gradle】Gradle指定JDK位置,JVM参数,网络代理配置
android·gradle·proxy·网络代理·properties
williamdsy2 个月前
【ubuntu】代理设置总结,最近在代理这里踩了很多坑,大致理解了linux的代理机制
linux·运维·ubuntu·proxy·unknow·7890
ZZDICT2 个月前
Zabbix分布式监控
zabbix·proxy·分布式监控
Revelation_of_Turing3 个月前
Michael.W基于Foundry精读Openzeppelin第59期——Proxy.sol
proxy·solidity·openzeppelin·foundry·evm·代理合约·delegatecall
wanmei0023 个月前
grpc代理服务的实现(二)
golang·proxy·grpc·代理
张世争5 个月前
虚拟机 ubuntu 20.04 git 设置代理的方法
git·ubuntu·proxy
公羽向阳6 个月前
【Auth Proxy】为你的 Web 服务上把锁
go·web·proxy·auth·auth-proxy
bameofme6 个月前
重新思考,如何搭建一套简易高效的隧道代理
ip·proxy·代理ip·隧道代理·tunnel proxy·http proxy·data center proxy·residential proxy·mobile proxy·residential·mobile·datacenter·country code·proxy country code·proxy session id