1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 获取本地主机名和Ip地址 与 根据域名获取ip地址和主机名

获取本地主机名和Ip地址 与 根据域名获取ip地址和主机名

时间:2019-04-06 09:39:28

相关推荐

获取本地主机名和Ip地址 与 根据域名获取ip地址和主机名

工具类:

import com.alibaba.fastjson.JSON;import mons.lang3.ArrayUtils;import .InetAddress;import .UnknownHostException;import java.util.ArrayList;import java.util.List;/*** @PRODUCT_NAME: IntelliJ IDEA* @PROJECT_NAME: ztracecore* @PACKAGE_NAME: com.zto.ztrace.util* @AUTHOR: Choj* @DATE: -04-03 13:33* @NAME: AddressUtil* @DESRIPTION: 地址工具**/public class AddressUtil {/*** 获取 本地的IP地址** @return 返回 本地的IP地址*/public static String getLocalIpAddress() {final InetAddress inetAddress = AddressUtil.getLocalHost();if (inetAddress == null) {return null;}return inetAddress.getHostAddress();}/*** 获取 本地的主机名** @return 返回 本地的主机名*/public static String getLocalHostName() {final InetAddress inetAddress = AddressUtil.getLocalHost();if (inetAddress == null) {return null;}return inetAddress.getHostName();}/*** 获取的是该网站的地址信息** @param url 请求的地址 比如 * @return 返回 获取的是该网站地址信息*/public static InetAddress getRemoteHost(final String url) {try {return InetAddress.getByName(url);} catch (final UnknownHostException e) {return null;}}/*** 获取 远程的IP地址** @return 返回 远程的IP地址*/public static String getRemoteIpAddress(final String url) {final InetAddress inetAddress = AddressUtil.getRemoteHost(url);if (inetAddress == null) {return null;}return inetAddress.getHostAddress();}/*** 获取 远程的主机名** @return 返回 远程的主机名*/public static String getRemoteHostName(final String url) {final InetAddress inetAddress = AddressUtil.getRemoteHost(url);if (inetAddress == null) {return null;}return inetAddress.getHostName();}/*** 获取的是该网站的地址信息** @param url 请求的地址 比如 * @return 返回 获取的是该网站地址信息*/public static InetAddress[] getRemoteHostList(final String url) {try {return InetAddress.getAllByName(url);} catch (final UnknownHostException e) {return new InetAddress[0];}}/*** 获取 远程的IP地址** @return 返回 远程的IP地址*/public static List<String> getRemoteIpAddressList(final String url) {final InetAddress[] addresses = AddressUtil.getRemoteHostList(url);if (ArrayUtils.isEmpty(addresses)) {return new ArrayList<>();}final List<String> ips = new ArrayList<>();for (final InetAddress address : addresses) {ips.add(address.getHostAddress());}return ips;}/*** 获取 远程的主机名** @return 返回 远程的主机名*/public static List<String> getRemoteHostNameList(final String url) {final InetAddress[] addresses = AddressUtil.getRemoteHostList(url);if (ArrayUtils.isEmpty(addresses)) {return new ArrayList<>();}final List<String> ips = new ArrayList<>();for (final InetAddress address : addresses) {ips.add(address.getHostName());}return ips;}// ---------- 私有方法 -----------/*** 私有构造函数*/private AddressUtil() {}/*** 获取本地的地址** @return 返回地址 hostName/ipAddress*/private static InetAddress getLocalHost() {try {return InetAddress.getLocalHost();} catch (final UnknownHostException e) {return null;}}// --------- 测试 ---------/*** 入口(测试)** @param args 参数*/public static void main(final String[] args) {final String localHostName = AddressUtil.getLocalHostName();System.out.println(localHostName);final InetAddress localHost = AddressUtil.getLocalHost();System.out.println(localHost.getHostAddress());final String url = "";final String remoteHostName = AddressUtil.getRemoteHostName(url);System.out.println(remoteHostName);final List<String> remoteHostNameList = AddressUtil.getRemoteHostNameList(url);System.out.println(JSON.toJSONString(remoteHostNameList));final String remoteIpAddress = AddressUtil.getRemoteIpAddress(url);System.out.println(remoteIpAddress);final List<String> remoteIpAddressList = AddressUtil.getRemoteIpAddressList(url);System.out.println(JSON.toJSONString(remoteIpAddressList));}}

结果:

DESKTOP-O4N5NSMO169.214.1.["",""]115.239.210.27["115.239.210.27","115.239.211.112"]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。