public class NetworkUtil extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
NetworkUtil.ConnectStatus
连接测试返回状态
|
static class |
NetworkUtil.Filter |
static class |
NetworkUtil.Radix |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_HOST |
Constructor and Description |
---|
NetworkUtil() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
convertHost(java.lang.String host)
如果
host 为localhost转换为"localhost" |
static java.lang.String |
format(byte[] source,
java.lang.String separator,
NetworkUtil.Radix radix)
将
byte[] 转换为radix 指定格式的字符串 |
static java.lang.String |
formatIp(byte[] source)
以IP地址格式(点分位)格式化
source 指定的字节数组 |
static java.lang.String |
formatMac(byte[] source,
java.lang.String separator)
MAC地址格式(16进制)格式化
source 指定的字节数组 |
static byte[] |
getCurrentMac(java.lang.String host,
int port)
获取访问指定host的当前网卡物理地址
|
static byte[] |
getMacAddress(java.net.InetAddress address)
返回指定
address 绑定的网卡的物理地址(MAC) |
static java.lang.String |
getMacAddress(java.net.InetAddress address,
java.lang.String separator)
|
static java.lang.String |
getMacAddress(java.net.NetworkInterface nic,
java.lang.String separator) |
static java.util.Set<java.net.NetworkInterface> |
getNICs(com.google.common.base.Predicate<java.net.NetworkInterface>... filters)
根据过滤器
filters 指定的条件(AND)返回网卡设备对象 |
static java.util.Set<java.net.NetworkInterface> |
getPhysicalNICs()
返回所有物理网卡
|
static boolean |
isLocalhost(java.net.InetAddress address)
判断
address 是否为本机地址 |
static boolean |
isLocalhost(java.lang.String host)
判断
address 是否为本机地址 |
static boolean |
isLoopbackAddress(java.lang.String host)
判断
host 是否为localhost |
static boolean |
selfBind(java.net.InetAddress address)
遍历所有物理网上绑定的地址,判断
address 是否为本机网卡绑定的地址 |
static boolean |
selfBind(java.lang.String host)
see also
selfBind(InetAddress) |
static java.lang.String |
sendHttpRequest(java.net.URL url,
java.lang.String requestType)
向指定的url发送http请求
|
static NetworkUtil.ConnectStatus |
testHttpConnect(java.lang.String host,
int port,
com.google.common.base.Predicate<java.lang.String> responseValidator)
测试http连接是否可连接
|
static NetworkUtil.ConnectStatus |
testHttpConnect(java.lang.String url,
com.google.common.base.Predicate<java.lang.String> responseValidator)
测试http连接是否可连接
|
static NetworkUtil.ConnectStatus |
testHttpConnect(java.net.URL url,
com.google.common.base.Predicate<java.lang.String> responseValidator)
测试http连接是否可连接
连接失败返回 NetworkUtil.ConnectStatus.FAIL ,
建立连接后用
responseValidator 验证响应数据,responseValidator 返回true 则连接有效返回NetworkUtil.ConnectStatus.CONNECTABLE ,
responseValidator 返回false 则连接无效返回NetworkUtil.ConnectStatus.INVALID_RESPONE , |
static boolean |
testHttpConnectChecked(java.lang.String host,
int port,
com.google.common.base.Predicate<java.lang.String> responseValidator)
测试http连接是否可连接
|
static boolean |
testHttpConnectChecked(java.lang.String url,
com.google.common.base.Predicate<java.lang.String> responseValidator)
测试http连接是否可连接
|
static boolean |
testHttpConnectChecked(java.net.URL url,
com.google.common.base.Predicate<java.lang.String> responseValidator)
测试http连接是否可连接
|
public static final java.lang.String DEFAULT_HOST
public NetworkUtil()
@SafeVarargs public static java.util.Set<java.net.NetworkInterface> getNICs(com.google.common.base.Predicate<java.net.NetworkInterface>... filters)
filters
指定的条件(AND)返回网卡设备对象filters
- public static java.util.Set<java.net.NetworkInterface> getPhysicalNICs()
public static final java.lang.String format(byte[] source, java.lang.String separator, NetworkUtil.Radix radix)
byte[]
转换为radix
指定格式的字符串source
- separator
- 分隔符radix
- 进制基数source
为null
时返回空字符串public static final java.lang.String formatMac(byte[] source, java.lang.String separator)
source
指定的字节数组format(byte[], String, Radix)
public static final java.lang.String formatIp(byte[] source)
source
指定的字节数组format(byte[], String, Radix)
public static byte[] getMacAddress(java.net.InetAddress address)
address
绑定的网卡的物理地址(MAC)address
- address
没有绑定在任何网卡上返回null
NetworkInterface.getByInetAddress(InetAddress)
,
NetworkInterface.getHardwareAddress()
public static java.lang.String getMacAddress(java.net.NetworkInterface nic, java.lang.String separator)
nic
- 网卡对象separator
- 格式化分隔符public static java.lang.String getMacAddress(java.net.InetAddress address, java.lang.String separator)
address
- separator
- 格式化分隔符public static final boolean isLoopbackAddress(java.lang.String host)
host
是否为localhostpublic static final boolean isLocalhost(java.net.InetAddress address)
address
是否为本机地址public static final boolean isLocalhost(java.lang.String host)
address
是否为本机地址public static final java.lang.String convertHost(java.lang.String host)
host
为localhost转换为"localhost"public static boolean selfBind(java.net.InetAddress address)
address
是否为本机网卡绑定的地址public static boolean selfBind(java.lang.String host)
selfBind(InetAddress)
public static byte[] getCurrentMac(java.lang.String host, int port) throws java.io.IOException
host
- port
- java.io.IOException
public static java.lang.String sendHttpRequest(java.net.URL url, java.lang.String requestType)
url
- requestType
- 请求类型,see HttpURLConnection.setRequestMethod(String)
null
public static NetworkUtil.ConnectStatus testHttpConnect(java.net.URL url, com.google.common.base.Predicate<java.lang.String> responseValidator)
NetworkUtil.ConnectStatus.FAIL
,
建立连接后用
responseValidator
验证响应数据,responseValidator
返回true
则连接有效返回NetworkUtil.ConnectStatus.CONNECTABLE
,
responseValidator
返回false
则连接无效返回NetworkUtil.ConnectStatus.INVALID_RESPONE
,url
- 测试的urlresponseValidator
- 用于验证响应数据是否有效的验证器,
为null
时,只要连接成功就返回NetworkUtil.ConnectStatus.CONNECTABLE
NetworkUtil.ConnectStatus
public static NetworkUtil.ConnectStatus testHttpConnect(java.lang.String url, com.google.common.base.Predicate<java.lang.String> responseValidator)
url
- 测试的urlresponseValidator
- NetworkUtil.ConnectStatus
testHttpConnect(URL, Predicate)
public static NetworkUtil.ConnectStatus testHttpConnect(java.lang.String host, int port, com.google.common.base.Predicate<java.lang.String> responseValidator)
url
- 测试的urlresponseValidator
- NetworkUtil.ConnectStatus
testHttpConnect(URL, Predicate)
public static boolean testHttpConnectChecked(java.net.URL url, com.google.common.base.Predicate<java.lang.String> responseValidator)
url
- responseValidator
- NetworkUtil.ConnectStatus.CONNECTABLE
返回true
,
连接失败NetworkUtil.ConnectStatus.FAIL
返回false
响应无效NetworkUtil.ConnectStatus.INVALID_RESPONE
抛出异常java.lang.IllegalStateException
- 连接响应无效testHttpConnect(URL, Predicate)
public static boolean testHttpConnectChecked(java.lang.String url, com.google.common.base.Predicate<java.lang.String> responseValidator)
url
- responseValidator
- java.lang.IllegalStateException
- 连接响应无效,连接状态为 NetworkUtil.ConnectStatus.INVALID_RESPONE
时testHttpConnectChecked(URL, Predicate)
public static boolean testHttpConnectChecked(java.lang.String host, int port, com.google.common.base.Predicate<java.lang.String> responseValidator)
host
- port
- responseValidator
- java.lang.IllegalStateException
- 连接响应无效,连接状态为 NetworkUtil.ConnectStatus.INVALID_RESPONE
时testHttpConnectChecked(URL, Predicate)
Copyright © 2019. All rights reserved.